我想根据数组中的值计算总计。
我尝试了几种不同的方法,但开始对 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
。
如何从数组中获取保留小数位的总值?
仅供引用 - 如果某个项目设置为 true
, fiddle 还包含一些生成数组的对象。
最佳答案
您正在执行字符串连接而不是添加 float 。只需使用 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>
关于javascript - 数组总值,保留小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28287238/