在javascript中将字符串拆分为单个数字
以下代码在表在javascript中将字符串拆分为单个数字,javascript,jquery,string,split,sum,Javascript,Jquery,String,Split,Sum,以下代码在表#operations中搜索每个动态类“.fuel”+ACID: let k = 0; let ac_fuel = 0; parsed.data.forEach(arrayWithinData => { let ACID = parsed.data[k][0]; if($("#operations td").hasClass("fuel "+ACID)) { console.log("we have a "+ACID); co
#operations
中搜索每个
动态类“.fuel”+ACID
:
let k = 0;
let ac_fuel = 0;
parsed.data.forEach(arrayWithinData => {
let ACID = parsed.data[k][0];
if($("#operations td").hasClass("fuel "+ACID)) {
console.log("we have a "+ACID);
console.log(($("#operations td.fuel."+ACID).text()));
ac_fuel += parseFloat($("#operations td.fuel."+ACID).html());
console.log(ac_fuel);
}
k++;
})
ac_燃油记录为一串数字,例如:
61.001.001.00643.00632.006.001.002181.22
我如何将这些数字拆分,以便将它们相加?所需结果是每个
元素与类“.fuel”+ACID
的总和:
61.00 + 1.00 + 643.00 + 632.00 + 6.00 + 1.00 + 2181.22
您应该使用js.split函数
let numsString = '61.001.001.00643.00632.006.001.002181.22';
let numsArr = numsString.split('.');
let summ = 0;
// set + before num, so it will be converted from string to num
numsArr.map(num => summ += +num);
console.log(summ);
所以在你的代码中,我相信会是这样的
let k = 0;
let ac_fuel = 0;
parsed.data.forEach(arrayWithinData => {
let ACID = parsed.data[k][0];
if($("#operations td").hasClass("fuel "+ACID)) {
ac_fuel += parseFloat($("#operations td.fuel."+ACID).html());
}
k++;
})
let numsString = $("#operations td.fuel." + ACID).html();
let numsArr = numsString.split('.');
let summ = 0;
// set + before num, so it will be converted from string to num
numsArr.map(num => summ += +num);
ac_fuel += summ;
console.log(ac_fuel);
您可以发布生成此结果的HTML吗?在解析而不是附加时,将它们推送到数组中并稍后添加。不确定这是如何实现的,因为您已经在使用
ac_fuel+=parseFloat(…)
。您是否可以使用或在此处为此创建一个显示问题发生的视图。@CertainPerformance