我想从数组中的值计算总数。
我已尝试了几种不同的方法,但开始挣扎于JS中数字计算的奇迹。
例如,这是我的数组:
["0.20", "1.20"]
以及我如何尝试从这些价值中获取总数:
var totalPrice = 0;
var arrLength = arr.length;
while(arrLength--)
totalPrice += parseFloat(Math.round(arr[arrLength] * 100) / 100).toFixed(2);
但是,这会返回01.200.20
。
如果我将数组修改为只有一个值0.20
,则会返回00.20
。
如何从保留小数位的数组中获取总值?
FYI - 小提琴还包含一些生成数组的对象,如果项目设置为true
。
答案 0 :(得分:3)
您正在进行字符串连接,而不是添加浮点数。只需使用parseFloat
,然后在需要实际字符串表示时,在结尾处获取小数位。
var arr = ["0.20", "1.20"];
var totalPrice = 0;
var arrLength = arr.length;
while (arrLength--) {
totalPrice += parseFloat(arr[arrLength]);
}
document.getElementById("result").innerHTML = totalPrice.toFixed(2);
<div id="result">x</div>