如何添加像这样的数组的货币值
array = [ '$0',
'$0',
'$14,792',
'$152,445',
'$1,581,033',
'$2,988,978',
'$4,226,419',
'$7,254,960',
'$10,726,945',
'$12,657,402',
'$35,215,787',
'$37,968,368',
'$7,648,445',
'$364,237',
'$390,395',
'$306,080',
'$3,641,253',
'$4,328,363',
'$1,360,664' ]
这里是我定义的方法,我面临的唯一问题是在array_sum的第二个问题是没有添加我从数据变量获得的值。
exports.GetMonthsFWSeasonFullSeasonValues = () => {
var promises = [];
var array_sum = 0;
for(var month_index = 9; month_index <= 27 ; month_index++){
const elm_xpath = utils.GetXpathForSubCategory(chosen_season_index, month_index);
promises.push(element(by.xpath(elm_xpath)).getText());
}
return Promise.all(promises).then(function(data){
if(data != null) {
for (var array_index = 0; array_index < data.length; array_index++){
array_sum += data[array_index];
console.log('sum of values from months',array_sum);
}
} else {
return null;
}
});
};
答案 0 :(得分:0)
这里的问题是你试图添加两个字符串。 +运算符在JS中重载,因此使用数字它会添加它们,但是使用字符串将它们连接起来。你需要使用parseInt或parseFloat将它们转换为整数或浮点数,并删除逗号和$符号,如:
var num = '$1,100'
parseInt(num.replace(/[$,]/g, ''))
如果你打印它会给1100。在数字格式之后,您可以将它们相加。
或者,如果您可以选择将数字中的数字存储为数字,而不是从字符串格式开始,那就去吧。这么容易。