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 #

csharp
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:

text
1.250.000
15%
87,50
FF
00007

Method ToString("...") menerapkan format specifier pada satu nilai. Mari kita telaah tiap baris pemanggilan:

  1. Baris 11 (total.ToString("N0")): Specifier N (number) menyisipkan pemisah ribuan; angka setelahnya menyatakan jumlah desimal, sehingga N0 menghasilkan 1.250.000 tanpa desimal.
  2. Baris 12 (diskon.ToString("P0")): Specifier P (percent) mengalikan nilai dengan 100 lalu menambah tanda %; P0 menampilkan persen tanpa desimal.
  3. Baris 13 (nilai.ToString("F2")): Specifier F (fixed) menampilkan dua angka desimal tetap, 87,50.
  4. Baris 14 (kodeWarna.ToString("X")): Specifier X mengubah bilangan bulat menjadi heksadesimal huruf besar.
  5. Baris 15 (nomorSeri.ToString("D5")): Specifier D melengkapi bilangan bulat dengan angka nol di depan hingga lima digit.

Tabel berikut merangkum specifier yang paling sering dipakai:

SpecifierKegunaanContoh nilaiHasil
N2Angka dengan pemisah ribuan25000.525.000,50
CMata uang sesuai regional45000Rp45.000,00
P0Persen tanpa desimal0.1515%
F2Dua desimal tetap87.587,50
D5Bilangan bulat, lima digit700007
XHeksadesimal255FF

Format Tanggal #

Tanggal juga diformat lewat kode pola, bukan specifier huruf tunggal:

csharp
DateTime hariKemerdekaan = new DateTime(2025, 8, 17);

Console.WriteLine(hariKemerdekaan.ToString("yyyy-MM-dd"));

Output yang Dihasilkan:

text
2025-08-17

Pola 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:

csharp
Console.WriteLine($"Total bayar: {total:C}");

Output yang Dihasilkan:

text
Total bayar: Rp1.250.000,00

Dengan satu tanda titik dua, nilai int mentah berubah menjadi tampilan mata uang Indonesia yang siap dipakai di kalimat apa pun.