Angka Formatter

Format angka dengan koma, singkatan, simbol mata uang, dan desimal kustom.

Cara kerjanya

  1. Masukkan angka Anda: ketik atau tempel nilai numerik, bilangan bulat, desimal, angka besar, atau notasi ilmiah.
  2. Pilih opsi format: pilih lokal Anda (US, EU, dll.), jumlah desimal, pemisah pengelompokan, dan simbol mata uang jika perlu.
  3. Salin hasil yang diformat: angka ditampilkan dalam format yang dipilih secara seketika. Salin untuk digunakan dalam laporan, dokumen, atau ekspor.

Mengapa menggunakan formatter angka?

Angka berarti hal yang berbeda di lokal yang berbeda. AS menulis seribu sebagai 1,000.00 sedangkan banyak negara Eropa menulisnya 1.000,00. Menyalin angka mentah antar sistem menyebabkan kesalahan parsing, salah baca, dan kesalahan finansial. Formatter angka memastikan angka Anda ditampilkan dengan benar untuk audiens mana pun, menyiapkan laporan keuangan, melokalisasi konten, atau membersihkan data untuk presentasi.

Fitur

Pertanyaan umum

Apa perbedaan antara format angka US dan Eropa?

Di Amerika Serikat, pemisah desimal adalah titik (.) dan pemisah ribuan adalah koma (,), mis. 1,234.56. Di sebagian besar Eropa, terbalik: 1.234,56. Alat ini mengonversi dengan benar antara kedua format.

Bisakah saya memformat angka untuk mata uang?

Ya. Aktifkan mode mata uang dan pilih simbol ($ € £ ¥, dll.) untuk diawali ke angka yang diformat. Untuk format akuntansi dengan konvensi angka negatif, aktifkan mode akuntansi.

Apakah menangani angka yang sangat besar atau sangat kecil?

Ya. Formatter menangani angka multidigit dan dapat menampilkannya dalam notasi standar, dikelompokkan, atau ilmiah. Presisi floating-point diterapkan pada desimal yang dikonfigurasi.

Dari mana standar pemformatan angka berasal

Format angka yang Anda lihat di perangkat lunak saat ini didefinisikan oleh tumpukan kecil standar yang membutuhkan tiga puluh tahun untuk mengendap. IEEE 754 (1985), direvisi pada 2008 dan 2019, menetapkan tata letak bit angka floating-point biner: 64 bit dibagi menjadi 1 tanda, 11 eksponen, 52 mantissa, yang merupakan apa yang setiap angka JavaScript di bawah kap. ISO 4217 (1978, edisi saat ini 2015) mendefinisikan kode mata uang tiga huruf, USD, EUR, JPY, INR, BRL, dan berapa banyak unit kecil yang dimiliki masing-masing (2 untuk USD, 0 untuk JPY, 3 untuk KWD, 4 untuk CLF). Unicode CLDR (Common Locale Data Repository), pertama kali dirilis pada 2003, adalah dataset terbuka yang mencatat pemisah grup, pemisah desimal, simbol mata uang, dan aturan jamak untuk setiap locale; rilis saat ini adalah CLDR 46 (Oktober 2024). ECMA-402 (2012), API Internasionalisasi ECMAScript, memberi JavaScript ikatan asli ke data itu via Intl.NumberFormat, yang didukung oleh ICU (International Components for Unicode) di V8, JavaScriptCore, dan SpiderMonkey. Bersama-sama keempat spec itu membuat (1234567).toLocaleString('de-DE') mengembalikan 1.234.567 alih-alih 1,234,567.

Enam pola locale yang akan Anda temui

Sebagian besar format angka di alam liar jatuh ke dalam enam pola. Menghafal enam ini mencakup ~95% basis pengguna produk global mana pun.

Mode pembulatan, apa yang sebenarnya mereka lakukan

ECMA-402 (2023) menambahkan sembilan mode pembulatan ke Intl.NumberFormat. Pilihan mengubah total keuangan, laporan ilmiah, dan perhitungan pajak. Tiga yang paling penting dalam praktik.

Di mana alat ini mendapatkan tempatnya

Kesalahan yang menggigit bahkan pengembang berpengalaman

Pertanyaan yang lebih sering diajukan

Mengapa 0,1 + 0,2 tidak sama dengan 0,3?

Karena float biner IEEE 754 tidak dapat menyimpan pecahan desimal 0,1 dengan tepat, dengan cara yang sama bahwa basis 10 tidak dapat menyimpan 1/3 dengan tepat. Double 64-bit terdekat dengan 0,1 adalah sekitar 0,1000000000000000055511151231257827021181583404541015625. Menambahkan dua perkiraan seperti itu menghasilkan hasil yang membulat ke 0,30000000000000004 bukannya 0,3. Setiap bahasa IEEE 754 memiliki perilaku ini: Java, Python, C++, Swift, semuanya. Untuk aritmatika desimal yang tepat, gunakan sen integer atau pustaka seperti decimal.js / Decimal Python / BigDecimal Java.

Apa perbedaan antara Intl.NumberFormat dan toLocaleString?

Mesin yang sama, ergonomi yang berbeda. (1234.5).toLocaleString('de-DE', {style: 'currency', currency: 'EUR'}) dan new Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR'}).format(1234.5) menghasilkan output identik. Perbedaannya: Intl.NumberFormat dapat digunakan kembali, jadi jika Anda memformat banyak angka dengan opsi yang sama, instansiasikan sekali dan cache. toLocaleString membaca opsi konstruktor setiap panggilan dan secara dramatis lebih lambat dalam loop ketat.

Bagaimana sistem penomoran India bekerja?

Inggris India dan Hindi mengelompokkan digit dalam pola 2-2-3 bukannya 3-3-3: tiga digit paling kanan, lalu kelompok dua. 100.000 ditulis 1,00,000 dan disebut satu lakh (10⁵). 10.000.000 ditulis 1,00,00,000 dan disebut satu crore (10⁷). Intl.NumberFormat('en-IN').format(12345678) mengembalikan 1,23,45,678. Sistem meluas ke arab (10⁹) dan kharab (10¹¹) meskipun jarang dalam penggunaan modern.

Seberapa besar angka yang dapat ditangani alat ini?

Hingga Number.MAX_SAFE_INTEGER = 2⁵³ − 1 = 9.007.199.254.740.991, integer apa pun bertahan dari perjalanan bolak-balik dengan tepat. Di luar itu, presisi mulai bocor. JSON.parse("9007199254740993") mengembalikan 9007199254740992, double terdekat yang dapat direpresentasikan. Untuk nilai yang lebih besar, tempelkan sebagai literal BigInt (dengan n di akhir) atau perlakukan sebagai string. Pemformat menerima keduanya.

Apakah angka saya dikirim ke mana-mana?

Tidak. Intl.NumberFormat dan data locale dikirimkan bersama browser Anda; seluruh pipeline berjalan secara lokal. Buka tab Network di DevTools dan format angka, Anda akan melihat nol permintaan keluar. Aman untuk gaji, pendapatan, saldo akun, atau data apa pun yang tidak akan Anda tempelkan ke layanan yang dihosting.

Alat terkait

Angka Base Konverter Kalkulator Persentase Kalkulator Ilmiah Gratis Kalkulator Bunga Majemuk