javascript - 数组总值,保留小数点

标签 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

仅供引用 - 如果某个项目设置为 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/

相关文章:

javascript - 关闭模式并滚动到 div

javascript - componentDidUpdate 创建无限循环并且不确定如何避免它

javascript - 将表单值发布到 html

javascript - 使用 javascript 将 DIV 添加到弹出窗口

c - 调试散列结果 : Lengths, 数组、字符

C++:用于取消引用的 [x] 语义:C 风格与指针数组

javascript - JS通过引用推送对象的原因是什么?

javascript - 在页面上的 div 中显示来自图像文件的随机图像

php - 如何检查多维数组中的任何值是否为空?

javascript - 使用 *ngFor Angular v5 访问数组