📅  最后修改于: 2023-12-03 15:01:38.190000             🧑  作者: Mango
JavaScript memiliki fungsi bawaan untuk memformat tipe data number menjadi format yang mudah dibaca oleh manusia. Di Indonesia sendiri, standardisasi format number yang umum digunakan adalah pemisahan ribuan dengan tanda titik dan desimal dengan tanda koma.
Untuk memformat number ke dalam format yang umum di Indonesia, kita dapat menggunakan fungsi toLocaleString()
. Berikut adalah contoh kode untuk memformat number menjadi format Indonesia:
const number = 1234567.89;
const formattedNumber = number.toLocaleString('id-ID', { style: 'currency', currency: 'IDR' });
console.log(formattedNumber); // "Rp 1.234.567,89"
Pada contoh kode di atas, kita menggunakan opsi style: 'currency'
untuk memformat number sebagai mata uang dan opsi currency: 'IDR'
untuk menetapkan mata uang menjadi Rupiah.
Pada opsi pertama, ‘id-ID’ mewakili kode bahasa Indonesia ISO 639 yang memungkinkan toLocaleString()
menentukan format numerik lokal yang diinginkan.
Jika dalam kebutuhan tertentu kita ingin menghilangkan simbol mata uang yang muncul pada hasil format number, kita bisa menambahkan parameter currencyDisplay: 'narrowSymbol'
pada opsi toLocaleString()
. Berikut adalah contoh kode untuk memformat number menjadi format Indonesia tanpa simbol mata uang:
const number = 1234567.89;
const formattedNumber = number.toLocaleString('id-ID', { style: 'currency', currency: 'IDR', currencyDisplay: 'narrowSymbol' });
console.log(formattedNumber); // "1.234.567,89"
Ada beberapa situasi di mana kita mungkin perlu mengubah pemisah koma dan titik pada format number di JavaScript. Sebagai contoh, beberapa negara menggunakan tanda titik sebagai pemisah desimal dan tanda koma sebagai pemisah ribuan.
Untuk mengubah pemisah koma dan titik, kita perlu menerapkan satu set format options (opsi format). Ini mengubah seluruh representasi format angka. Dalam contoh berikut, kami memformat angka dalam format Jerman, yaitu menggunakan tanda titik sebagai pemisah ribuan dan tanda koma sebagai pemisah desimal:
const number = 1234567.89;
const formatOptions = { useGrouping: true, minimumFractionDigits: 0, maximumFractionDigits: 2, minimumIntegerDigits: 1, style: 'decimal', decimalSeparator: ',', groupSeparator: '.' }
const formattedNumber = number.toLocaleString('de-DE', formatOptions);
console.log(formattedNumber); // "1.234.567,89"
Pada contoh kode di atas, parameter minimumFractionDigits
digunakan untuk menentukan jumlah angka desimal minimum yang ditampilkan. Sedangkan parameter maximumFractionDigits
digunakan untuk menentukan jumlah angka desimal maksimum yang ditampilkan.
Parameter minimumIntegerDigits
digunakan untuk menentukan minimal angka integer yang harus ditampilkan. Jika angka integer lebih sedikit dari nilai minimumIntegerDigits
, angka integer akan diganti dengan nol.
Dalam panduan ini, kita telah membahas cara memformat number menjadi format yang umum digunakan di Indonesia, serta cara mengubah pemisah koma dan titik pada format number dalam JavaScript. Dengan memahami cara menggunakan toLocaleString()
, Anda dapat memformat number dengan sangat mudah dan mendapatkan hasil keluaran yang sesuai dengan format lokal yang diinginkan.
Referensi: