下面是 jQuery 代码
$('#Cancelation').change(function(){
if($(this).is(':checked')){
total = parseFloat($('#TotalAmount').val()) + parseFloat($('#Cancelation').val());
} else {
total = parseFloat($('#TotalAmount').val()) - parseFloat($('#Cancelation').val());
}
$('#TotalAmount').val(total);
$('#TotalPrice').html(total);
});
如果#TotalAmount
值为10.49,在页面加载时正确显示,问题是如果选中或取消选中复选框,则从#TotalAmount
添加或减去复选框的值2.00 code> 和 #TotalPrice
,但输出显示为在减去时添加 0r 10.48999998
的 12.48999998
。
我尝试了.toFixed(2);
但结果是一样的,还有其他方法可以解决这个问题吗?
编辑:HTML 代码
<label for="Cancelation"><input type="checkbox" name="Cancelation" id="Cancelation" value="2.00"> Cancellation Protection: 2.00</label>
<input type="text" name="TotalAmount" id="TotalAmount" value="10.49" />
Total Amount: <span id="TotalPrice">10.49</span>
最佳答案
您可以使用 Math.round(number * 100)/100
四舍五入到小数点后两位。
关于jquery - 小数点后最多 2 位尾随数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31392957/