Aturan
Setiap aturan dengan sumbernya dan contoh yang berjalan, termasuk kasus yang paling sering gagal.
Aturan se-
se- adalah bentuk terikat dari satu. Untuk angka 1 di depan, katanya melebur alih-alih tersusun: se- + puluh jadi sepuluh, se- + ratus jadi seratus, se- + ribu jadi seribu. Peleburan berhenti di ribu — pemakaian baku mengambil satu juta, bukan sejuta.
Sumber: KBBI; PUEBI/EYD, penulisan bilangan.
- 10se- + puluh →sepuluhsering keliru: satu puluh
- 11se- + belas →sebelassering keliru: satu belas
- 100se- + ratus →seratussering keliru: satu ratus
- 1.000se- + ribu →seribusering keliru: satu ribu
- 1.000.000satu + juta — peleburan berhenti di ribu →satu jutasering keliru: sejuta (varian, lihat opsi)
Belasan
11 sampai 19 memakai belas dan tidak dapat diturunkan dari pola puluhan. Sebelas melebur; sisanya tersusun.
Sumber: KBBI, lema belas.
- 11se- + belas →sebelas
- 12dua + belas →dua belas
- 19sembilan + belas →sembilan belas
Kelompok kosong
Kelompok tiga angka yang bernilai 000 tidak menghasilkan kata sama sekali. Ini bug struktural yang paling sering muncul di implementasi lain.
Sumber: Konvensi pembacaan bilangan; PUEBI/EYD.
- 1.000.0011 juta + 000 ribu + 001 →satu juta satusering keliru: satu juta nol ribu satu
- 1.000.000.0011 miliar + 000 juta + 000 ribu + 001 →satu miliar satusering keliru: satu miliar nol juta nol ribu satu
- 101.000101 ribu + 000 →seratus satu ribu
Kata skala
Kata skalanya berjarak tepat 10³ satu sama lain — ribu 10³, juta 10⁶, miliar 10⁹, triliun 10¹², kuadriliun 10¹⁵ — dan justru itulah sebabnya bilangan dipotong tiap tiga angka. Pengelompokan tiga angka bukan kebiasaan tulis, melainkan bentuk daftar kata ini. Ejaan milyar dan trilyun lazim di lapangan tetapi bukan bentuk KBBI; keduanya tersedia sebagai opsi. Di atas kuadriliun pemakaian belum mapan, jadi pustaka menolak alih-alih mengarang kata baru.
Sumber: KBBI, lema ribu, juta, miliar, triliun, kuadriliun.
- 1.000.000.000satu miliar
- 1.000.000.000.000satu triliun
- 1.000.000.000.000.000satu kuadriliun
- 1.000.000.000.000.000.000Nilai melampaui 999.999.999.999.999.999. Pemakaian kata skala di atas itu belum mapan dalam bahasa Indonesia, jadi pustaka ini menolak alih-alih mengarang.di-luar-jangkauan
Kata yang dipakai
Seluruh keluaran memakai kata-kata ini dan tidak yang lain. Satuan dan belasan punya bentuknya sendiri; sisanya tersusun.
| Kata | Besaran |
|---|---|
| satu | 1 |
| dua | 2 |
| tiga | 3 |
| empat | 4 |
| lima | 5 |
| enam | 6 |
| tujuh | 7 |
| delapan | 8 |
| sembilan | 9 |
| sepuluh | 10 |
| sebelas | 11 |
| dua belas | 12 |
| sembilan belas | 19 |
| ribu | 1.000 |
| juta | 1.000.000 |
| miliar | 1.000.000.000 |
| triliun | 1.000.000.000.000 |
| kuadriliun | 1.000.000.000.000.000 |
Desimal
Koma adalah pemisah desimal dan dibaca koma; digit di belakangnya dibaca satu per satu, bukan sebagai bilangan puluhan.
Sumber: PUEBI/EYD, tanda koma pada angka desimal.
- 1,251 + koma + 2 + 5 →satu koma dua limasering keliru: satu koma dua puluh lima
- 0,050 + koma + 0 + 5 →nol koma nol lima
Presisi di atas 2⁵³
Bilangan JavaScript kehilangan ketepatan di atas 2⁵³ ≈ 9×10¹⁵, tepat di atas triliun. Implementasi berbasis number benar sampai triliun lalu salah diam-diam — lolos uji sekilas, dan merusak faktur sungguhan. Pustaka ini memakai BigInt di seluruh jalur aritmetika dan menolak masukan number.
Sumber: ECMA-262, Number.MAX_SAFE_INTEGER.
- 9.007.199.254.740.993sembilan kuadriliun tujuh triliun seratus sembilan puluh sembilan miliar dua ratus lima puluh empat juta tujuh ratus empat puluh ribu sembilan ratus sembilan puluh tiga
- 999999999999999999sembilan ratus sembilan puluh sembilan kuadriliun sembilan ratus sembilan puluh sembilan triliun sembilan ratus sembilan puluh sembilan miliar sembilan ratus sembilan puluh sembilan juta sembilan ratus sembilan puluh sembilan ribu sembilan ratus sembilan puluh sembilan
Nilai utuh, lewat BigInt
9.007.199.254.740.993
sembilan kuadriliun tujuh triliun seratus sembilan puluh sembilan miliar dua ratus lima puluh empat juta tujuh ratus empat puluh ribu sembilan ratus sembilan puluh tiga
Nilai yang sama, setelah lewat number
9.007.199.254.740.992
sembilan kuadriliun tujuh triliun seratus sembilan puluh sembilan miliar dua ratus lima puluh empat juta tujuh ratus empat puluh ribu sembilan ratus sembilan puluh dua
Dijalankan sungguhan saat halaman dibangun: nilai di atas dilewatkan Number() lalu dikembalikan, persis seperti yang terjadi di implementasi berbasis number. Satu digit terakhir berubah, dan satu kata terakhir ikut berubah — tanpa galat, tanpa peringatan.
Mata uang dan dokumen
Pada kuitansi dan cek, jumlah terbilang ditutup rupiah dan dikurung tanda pagar di kedua ujung supaya tidak bisa ditambahi setelah ditandatangani. Sen dipakai untuk perseratusan bila konteks pembukuan menuntutnya.
Sumber: Konvensi dokumen keuangan Indonesia; KBBI, lema sen.
- 1.500seribu lima ratus
- 1500,25seribu lima ratus koma dua lima
Varian tersitasi
Setiap opsi menyebut pemakaian yang mendasari kedua sisinya, dan setiap sisi dijalankan atas masukan yang sama saat halaman dibangun. Kata yang berubah ditandai, sehingga terlihat opsi mana yang menggeser satu kata dan mana yang menyusun ulang seluruh kalimat. Tidak ada bawaan diam-diam.
sejutasatu juta atau sejuta
bawaan: false — satu jutaMasukan yang sama1.000.000
falsesatujuta
Peleburan se- berlaku pada puluh, belas, ratus, dan ribu. Juta tidak ikut dalam pola itu pada pemakaian baku, sehingga bentuk hitungnya satu juta. — KBBI, lema juta; PUEBI/EYD, penulisan bilangan.
true1 kata berubahsejuta
sejuta terdaftar di KBBI dan lazim dalam ragam sastra dan percakapan ("sejuta rasa"), meski jarang dipakai untuk jumlah pada dokumen. — KBBI, lema sejuta.
ejaanMiliarmiliar/triliun atau milyar/trilyun
bawaan: baku — miliar, triliunMasukan yang sama1.001.000.000.000
bakusatutriliunsatumiliar
Bentuk yang dibakukan KBBI adalah miliar dan triliun. — KBBI, lema miliar dan triliun.
varian2 kata berubahsatutrilyunsatumilyar
milyar dan trilyun sangat lazim pada dokumen keuangan dan sistem lama. Disediakan agar keluaran bisa disamakan dengan sistem yang sudah berjalan. — Pemakaian umum; bukan bentuk KBBI.
mataUangimbuhan mata uang
bawaan: tidakMasukan yang sama1.500
tidakseribulimaratus
Bilangan murni, tanpa konteks mata uang. — —
rupiah1 kata berubahseribulimaratusrupiah
Pada kuitansi, faktur, dan cek, jumlah terbilang ditutup dengan satuan mata uang. — Konvensi dokumen keuangan Indonesia.
senangka di belakang koma
bawaan: komaMasukan yang sama1,25
komasatukomadualimarupiah
Koma adalah pemisah desimal, dibaca koma, dan digit di belakangnya dibaca satu per satu — bukan sebagai bilangan puluhan. — PUEBI/EYD, tanda koma pada angka desimal.
sen3 kata berubahsaturupiahduapuluhlimasen
Dalam konteks akuntansi, perseratusan rupiah dibaca sebagai sen. Hanya berlaku sampai dua digit; lebih dari itu ditolak, tidak dibulatkan. — KBBI, lema sen; konvensi pembukuan.
kapitalisasikapitalisasi
bawaan: tidakMasukan yang sama1.500
tidakseribulimaratusrupiah
Keluaran apa adanya untuk disisipkan ke dalam kalimat. — —
kalimat1 kata berubahSeribulimaratusrupiah
Huruf kapital pada awal, seperti jumlah terbilang pada kuitansi. — Konvensi dokumen keuangan Indonesia.
judul4 kata berubahSeribuLimaRatusRupiah
Kapital pada setiap kata, dipakai pada akta dan sebagian format cek. — Konvensi dokumen notaris.