Angka 1250000 yang ditampilkan mentah sulit dibaca, dan nilai 0.15 tidak langsung terbaca sebagai diskon 15 persen. Format specifier memungkinkan kita mengubah tampilan nilai tanpa mengubah nilainya: kode huruf pendek ditulis setelah tanda titik dua, lalu .NET menata ulang tampilannya.
Menyetel Regional agar Output Konsisten #
Tampilan angka mengikuti regional (culture) komputer: Indonesia memakai titik untuk ribuan dan koma untuk desimal. Agar contoh di bab ini selalu tampil dengan format Indonesia di komputer mana pun, dua baris berikut masuk ke awal Program.cs: directive using System.Globalization; di baris paling atas, lalu penugasan CultureInfo.CurrentCulture = new CultureInfo("id-ID"); sebelum statement lain. Tanpa baris kedua, output mengikuti regional yang terpasang di komputer masing-masing.
Format Specifier Angka #
using System.Globalization; // directive di bagian paling atas file
CultureInfo.CurrentCulture = new CultureInfo("id-ID");
int total = 1250000;
double diskon = 0.15;
double nilai = 87.5;
int kodeWarna = 255;
int nomorSeri = 7;
Console.WriteLine(total.ToString("N0"));
Console.WriteLine(diskon.ToString("P0"));
Console.WriteLine(nilai.ToString("F2"));
Console.WriteLine(kodeWarna.ToString("X"));
Console.WriteLine(nomorSeri.ToString("D5"));Output yang Dihasilkan:
1.250.000
15%
87,50
FF
00007Method ToString("...") menerapkan format specifier pada satu nilai. Mari kita telaah tiap baris pemanggilan:
- Baris 11 (
total.ToString("N0")): SpecifierN(number) menyisipkan pemisah ribuan; angka setelahnya menyatakan jumlah desimal, sehinggaN0menghasilkan1.250.000tanpa desimal. - Baris 12 (
diskon.ToString("P0")): SpecifierP(percent) mengalikan nilai dengan 100 lalu menambah tanda%;P0menampilkan persen tanpa desimal. - Baris 13 (
nilai.ToString("F2")): SpecifierF(fixed) menampilkan dua angka desimal tetap,87,50. - Baris 14 (
kodeWarna.ToString("X")): SpecifierXmengubah bilangan bulat menjadi heksadesimal huruf besar. - Baris 15 (
nomorSeri.ToString("D5")): SpecifierDmelengkapi bilangan bulat dengan angka nol di depan hingga lima digit.
Tabel berikut merangkum specifier yang paling sering dipakai:
| Specifier | Kegunaan | Contoh nilai | Hasil |
|---|---|---|---|
N2 | Angka dengan pemisah ribuan | 25000.5 | 25.000,50 |
C | Mata uang sesuai regional | 45000 | Rp45.000,00 |
P0 | Persen tanpa desimal | 0.15 | 15% |
F2 | Dua desimal tetap | 87.5 | 87,50 |
D5 | Bilangan bulat, lima digit | 7 | 00007 |
X | Heksadesimal | 255 | FF |
Format Tanggal #
Tanggal juga diformat lewat kode pola, bukan specifier huruf tunggal:
DateTime hariKemerdekaan = new DateTime(2025, 8, 17);
Console.WriteLine(hariKemerdekaan.ToString("yyyy-MM-dd"));Output yang Dihasilkan:
2025-08-17Pola yyyy-MM-dd memuat tahun empat digit, bulan dua digit, dan tanggal dua digit, dipisah tanda hubung. Urutan penulisan mengikuti yang kita tulis, sehingga dd/MM/yyyy menghasilkan 17/08/2025.
Dipakai di Dalam Interpolasi #
Format specifier menyatu dengan string interpolation: tulis specifier setelah titik dua di dalam placeholder:
Console.WriteLine($"Total bayar: {total:C}");Output yang Dihasilkan:
Total bayar: Rp1.250.000,00Dengan satu tanda titik dua, nilai int mentah berubah menjadi tampilan mata uang Indonesia yang siap dipakai di kalimat apa pun.