Angka di JavaScript adalah floating point. Ini berarti mereka tidak selalu presisi.
Bug 0.3
0.1 + 0.2 === 0.30000000000000004
Jangan pernah membandingkan float secara langsung. Gunakan Math.abs(a - b) < epsilon.
Menangani Uang
Untuk uang, gunakan API Intl.NumberFormat. API ini menangani koma, desimal, dan simbol mata uang secara otomatis.
javascript
const harga = 12345.678;
const formatter = new Intl.NumberFormat('id-ID', {
style: 'currency',
currency: 'IDR',
});
console.log(formatter.format(harga)); // "Rp 12.345,68"