我正在使用JavaScript绑定一些复选框,但是toFixed(2)
没有进行四舍五入。有什么想法为什么它没有进行四舍五入?例如,如果数字是859.385
,它只显示859.38
而不是859.39
。
我还听说toFixed
可能会因使用的浏览器不同而进行不同的舍入,是否有任何方法来解决这个问题,使我的JavaScript计算与PHP计算匹配?
var standardprice = parseFloat($('#hsprice_'+this.id.split('_')[1]).val());
var price = parseFloat($('#hprice_'+this.id.split('_')[1]).val());
var discount = parseFloat($('#hdiscount_'+this.id.split('_')[1]).val());
var deposit = parseFloat($('#hdeposit_'+this.id.split('_')[1]).val());
var currSprice = parseFloat($('#hTotalSprice').val());
var currPrice = parseFloat($('#hTotalPrice').val());
var currDiscount = parseFloat($('#hTotalDiscount').val());
var currDeposit = parseFloat($('#hTotalDeposit').val());
currSprice += standardprice;
currPrice += price;
currDiscount += discount;
currDeposit += deposit;
$('#lblTotalSprice').text('$'+addCommas(currSprice.toFixed(2)));
$('#lblTotalPrice').text('$'+addCommas(currPrice.toFixed(2)));
$('#lblTotalDiscount').text('$'+addCommas(currDiscount.toFixed(2)));
$('#lblTotalDeposit').text('$'+addCommas(currDeposit.toFixed(2)));
$('#hTotalSprice').val(currSprice.toFixed(2));
$('#hTotalPrice').val(currPrice.toFixed(2));
$('#hTotalDiscount').val(currDiscount.toFixed(2));
$('#hTotalDeposit').val(currDeposit.toFixed(2));
.toFixed
四舍五入会看起来有些难以理解的提示:(0.1).toFixed(20)
。(请注意,IE 的实现给出了“直观”的结果,而其他浏览器则给出了符合标准的值。) - Noyo