我有一个字符串数组,每个数组值都采用货币格式:
var sells = ['INR1,433,200.00','INR5,750.00','INR12,000.00','INR1,905.00','INR235.00'];
我尝试循环遍历该数组的每个值,并将其求和以获得货币格式的总计
var total = 0;
sells.forEach(function(sell) {
total += sell;
});
console.log(total);
当我看到浏览器控制台日志时,结果始终是 NaN
,我预计结果是 INR1,453,090.00
最佳答案
替换 INR
和逗号,并将 String
转换为 Number
:
var sells = ['INR1,433,200.00','INR5,750.00','INR12,000.00','INR1,905.00','INR235.00'];
var total = 0;
sells.forEach(function(sell) {
total += +sell.replace('INR','').replace(/,/g,'');
});
console.log(total);
您还可以使用reduce
:
var sells = ['INR1,433,200.00', 'INR5,750.00', 'INR12,000.00', 'INR1,905.00', 'INR235.00'];
console.log(sells.reduce((acc, val) => acc + +val.replace('INR', '').replace(/,/g, ''), 0));
关于javascript - Javascript 中的总和格式金额返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57471814/