总数组值,保留小数点

时间:2015-02-02 21:37:57

标签: javascript arrays

我想从数组中的值计算总数。

我已尝试了几种不同的方法,但开始挣扎于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

如何从保留小数位的数组中获取总值?

JSFiddle

FYI - 小提琴还包含一些生成数组的对象,如果项目设置为true

1 个答案:

答案 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>