Sayangnya semua jawaban sejauh ini mengabaikan fakta bahwa tidak semua mata uang memiliki 100 sub-unit (misalnya, sen adalah sub-unit dari dolar AS (USD)). Mata uang seperti Dinar Irak (IQD) memiliki 1000 sub-unit: Dinar Irak memiliki 1000 fils. Yen Jepang (JPY) tidak memiliki sub-unit. Jadi "kalikan dengan 100 untuk melakukan aritmatika integer" tidak selalu merupakan jawaban yang benar.
Selain itu, untuk kalkulasi moneter, Anda juga perlu melacak mata uang. Anda tidak dapat menambahkan Dolar AS (USD) ke Rupee India (INR) (tanpa mengonversikan satu ke yang lain terlebih dahulu).
Ada juga batasan jumlah maksimum yang dapat diwakili oleh tipe data integer JavaScript.
Dalam kalkulasi moneter, Anda juga harus ingat bahwa uang memiliki presisi yang terbatas (biasanya 0-3 desimal poin) & pembulatan perlu dilakukan dengan cara tertentu (misalnya, pembulatan "normal" vs. pembulatan bankir). Jenis pembulatan yang akan dilakukan mungkin juga berbeda menurut yurisdiksi / mata uang.
Bagaimana menangani uang di javascript memiliki diskusi yang sangat bagus tentang poin-poin yang relevan.
Dalam pencarian saya, saya menemukan perpustakaan dinero.js yang membahas banyak masalah dengan kalkulasi moneter . Belum menggunakannya dalam sistem produksi jadi tidak bisa memberikan opini yang terinformasi.