parseFloat rounding

9 浏览
0 Comments

parseFloat rounding

我有一个JavaScript函数,可以自动将输入字段相加,但是像1.35 + 1.35 + 1.35这样的数字相加后,输出的结果却是4.050000000000001,这只是一个例子。我想知道如何将总数四舍五入到小数点后两位,而不是那个很长的字符串。

输入字段不仅仅是1.35的例子,所以我希望总数永远不要超过小数点后两位。以下是完整的工作代码:

1:

2:

Total:

我尝试了一些方法,应该可以解决问题,但显然我实现得有问题:

for(var i = 0; i < elements.length; ++i){

total += parseFloat(elements[i].value.toString().match(/^\d+(?:\.\d{0,2})?/));

var str = total.toFixed(2);

或者

for(var i = 0; i < elements.length; ++i){

total += parseFloat(elements[i].value * 100) / 100).toFixed(2)

使用Math.floor也没有成功。

0