在我的网站上,我有一个这样的表格:
<select id="payments" multiple="multiple">
<option data-amount="23.1" value="1">Invoice 1</option>
<option data-amount="25.3" value="2">Invoice 2</option>
<option data-amount="50.0" value="3">Invoice 3</option>
</select>
还有一点Javascript:
$(function() {
// Sum up and insert open_amount into 'amount' field depending on what invoice numbers are selected
$("#payments").change(function() {
var sum = 0;
$('#payments :selected').each(function() {
sum += Number($(this).data("amount"));
});
$("#payment_amount").val(sum);
});
});
问题在于我有时会得到奇怪的数字,例如48.400000000000006
,其中我实际上想要带有两位小数的舍入结果。
如何正确总结所有选定的金额?
答案 0 :(得分:1)
使用.toFixed(n)
格式化小数值。
$("#payment_amount").val(sum.toFixed(2));
答案 1 :(得分:1)
使用.toFixed(2)
两位小数
$("#payment_amount").val(sum.toFixed(2));
答案 2 :(得分:1)
使用parseFloat()
将其转换为浮动,然后添加它。
sum = sum + parseFloat($(this).data("amount"));
然后使用.toFixed(2)
$("#payment_amount").val(sum.toFixed(2));
答案 3 :(得分:0)
它可能很疯狂,但它会起作用:
parseFloat(48.400000000000006.toLocaleString())