总数组值,保留小数点

total array value, keep decimal points

本文关键字:保留 小数点 数组      更新时间:2023-09-26

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

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

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

您正在执行字符串连接而不是添加浮点数。 只需使用 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>