我正在使用node-mysql并且有2行。我正在将“总数”加在一起。值为1.10和1.16的列明显预计总量为2.26
我正在查询表格,并按如下方式添加它们:
connection.query(q3, function (err, results) {
if (err) throw err;
var totalSum=0;
for(i=0; i<results.length;i++) {
totalSum = totalSum + parseFloat(results[i].total).toFixed(2);
}
但是我的totalSum返回01.101.16,它显示为字符串的串联。为什么我的parseFloat没有改变从sql获得的字符串?
由于
答案 0 :(得分:3)
如果要将总和格式化为小数点后两位的数字,请在之后计算总计。 .toFixed()
函数返回一个字符串,而不是数字。
答案 1 :(得分:0)
试试这个:
totalSum = (totalSum + parseFloat(results[i].total)).toFixed(2);
答案 2 :(得分:0)
在循环中使用toFixed
是没有意义的。它应该在总和上调用。
let totalSum = results.reduce((prev,curr) => prev.total + curr.total).toFixed(2);