我正在尝试使用javascript计算一些文本框的总和,但在某些情况下它会给我不准确的结果。
输入值:234.32和32.34
结果: 266.65999999999997
预期结果: 266.66
代码:
<input type="text" class="unitrate" />
<input type="text" class="unitrate" />
<input type="text" id="txtsum" />
$(document).on('keyup', ".unitrate", function (e) {
calculateunitrateSum();
});
function calculateunitrateSum() {
var unitratesum = 0;
$(".unitrate").each(function () {
//add only if the value is number
if (!isNaN(this.value) && this.value.length != 0) {
unitratesum += parseFloat(this.value);
}
else {
$(this).val('0')
}
});
$('#txtsum').val(unitratesum);
}
答案 0 :(得分:1)
您可以使用toFixed(2)将其四舍五入到所需的位数。
<强> Live Demo 强>
$('#txtsum').val(unitratesum.toFixed(2));
toFixed()方法使用定点表示法格式化数字。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用toFixed(2)
来舍入值。
使用
$('#txtsum').val(unitratesum.toFixed(2));
而不是
$('#txtsum').val(unitratesum);