javascript - 如何对循环中的数组总量求和?

标签 javascript loops

如何使用 Ajax 对数组中返回的金额求和?

还有其他方法可以计算后面金额为 .000 的总和吗?

示例:

 for (i = 0; i < data.RecordCount; i++) {

 totalBetAmount += parseFloat(data.Records[i].betAmount);

结果: 0.22130000001

最佳答案

这种不准确的原因是许多数字没有精确的浮点表示,而浮点正是 JavaScript 用于存储数字的方式。

一个实用的解决方案是将结果四舍五入到小数点后的一定位数,如下所示:

totalBetAmount = Math.round(totalBetAmount*100000000)/100000000;

这是显示原始数字和四舍五入数字的片段:

// Sample data
var data = {
    Records: [
        { betAmount: 0.0001 },
        { betAmount: 0.0001 },
        { betAmount: 0.0001 },
    ],
    RecordCount: 3
};    

var totalBetAmount = 0;
for (i = 0; i < data.RecordCount; i++) {
   totalBetAmount += parseFloat(data.Records[i].betAmount);
}
console.log('before:', totalBetAmount);
// round of inaccuracies, assuming decimals
totalBetAmount = Math.round(totalBetAmount*100000000)/100000000;
console.log('after:', totalBetAmount);

关于javascript - 如何对循环中的数组总量求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39178993/

相关文章:

javascript - window.open 和 searchpopop

javascript - React onChange 事件返回 TypeError : props. handleChange 不是函数

javascript - Highchart - 将动态数据添加到条形图中

loops - Delphi:如何制作鼠标点击计数器?

javascript - 简化我的函数(循环、数组)?

javascript - JavaScript 中使用字符串进行类型检测?

javascript - React 中组件之间传递数据

powershell - PowerShell:循环浏览.ini文件

r - 快速建立参数组合模型

c - 如何在c中设计条形图