JavaScript memiliki beberapa kondisi desimal pada operasi multiplikasi angka -angka -poin.
Ini karena angka titik mengambang dikonversi menjadi biner setelah operasi, tetapi beberapa desimal memiliki sirkulasi tak terbatas setelah pengkodean biner, yang menyebabkan kesalahan dalam komputasi, dan ada masalah serupa dalam bahasa lain.
Alasan penjelasan mengacu dari Baidu untuk mengetahui:
Misalnya: 1038.1-1000
1038.1 = 10000001110.000110011001100110011001100110011001100 .....
1000 = 1111101000
1038.1 Konversi menjadi biner adalah siklus yang tak terbatas. sebagai nomor digit desimal tertentu.
Solusi: Berdasarkan digit desimal (seperti 4) yang harus disimpan, multipel pertama (10^4) saat menghitung produk, kemudian membagi hasil perhitungan (10^4), dan akhirnya mengambil hasil matematika nilai hasil. Bulat.
Salin kode kode sebagai berikut:
var m1 = 2232.00,
persen = (10/100),
Total = persen*m1;
Peringatan (Total);
Total = Math.round (Total*10)/10;
waspada (total);