【发布时间】:2019-08-13 05:51:09
【问题描述】:
我有一个字符串数组,每个数组值都采用货币格式:
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
【问题讨论】:
-
INR1,453,090.00、INR5,750.00等无法转换为Number -
问题是您尝试在数组中添加非数字字符 (INR) 的值。首先,删除然后添加它们
-
您必须先从
sells数组中的每个值中删除INR前缀,然后将这些值解析为整数,否则您无法对这样的字符串求和 -
试试
total += +sell.replace(/[^\d.]/g, '') -
我强烈建议您的数组应该包含简单的浮点数,然后在仅显示时格式化
标签: javascript jquery formatting