以下是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,这在页面加载时正确显示,并且问题在于,如果选中或取消选中了复选框,则复选框的值为2.00,则从#TotalAmount
和#TotalPrice
添加或减去,但是输出显示为12.48999998
减去时加0r 10.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
舍入到小数点后两位。