Javascript 总数组值,保留小数点

Javascript 总数组值,保留小数点,javascript,arrays,Javascript,Arrays,我想从数组中的值计算一个总数 我尝试了几种不同的方法,但开始与JS中数字计算的奇迹搏斗 例如,这是我的数组: ["0.20", "1.20"] 我是如何从这些值中得到一个总数的: var totalPrice = 0; var arrLength = arr.length; while(arrLength--) totalPrice += parseFloat(Math.round(arr[arrLength] * 100) / 100).toFixed(2); 但是,这将返回01.

我想从数组中的值计算一个总数

我尝试了几种不同的方法,但开始与JS中数字计算的奇迹搏斗

例如,这是我的数组:

["0.20", "1.20"]
我是如何从这些值中得到一个总数的:

var totalPrice = 0;
var arrLength = arr.length;
while(arrLength--)
    totalPrice += parseFloat(Math.round(arr[arrLength] * 100) / 100).toFixed(2);
但是,这将返回
01.200.20

如果将数组修改为只有一个值,
0.20
,则返回
00.20

如何从保留小数点的数组中获取总值


仅供参考-如果项目设置为
true

则小提琴还包含一些生成数组的对象,您正在执行字符串连接,而不是添加浮点数。只需使用
parseFloat
,然后在需要实际字符串表示形式时,将小数点放在末尾

var-arr=[“0.20”,“1.20”];
var totalPrice=0;
var arrLength=arr.length;
while(arrLength--){
totalPrice+=parseFloat(arr[arrLength]);
}
document.getElementById(“结果”).innerHTML=totalPrice.toFixed(2)

x
您正在执行字符串连接,而不是添加浮点。只需使用
parseFloat
,然后在需要实际字符串表示形式时,将小数点放在末尾

var-arr=[“0.20”,“1.20”];
var totalPrice=0;
var arrLength=arr.length;
while(arrLength--){
totalPrice+=parseFloat(arr[arrLength]);
}
document.getElementById(“结果”).innerHTML=totalPrice.toFixed(2)

x
您正在执行字符串连接,而不是添加浮点。只需使用
parseFloat
,然后在需要实际字符串表示形式时,将小数点放在末尾

var-arr=[“0.20”,“1.20”];
var totalPrice=0;
var arrLength=arr.length;
while(arrLength--){
totalPrice+=parseFloat(arr[arrLength]);
}
document.getElementById(“结果”).innerHTML=totalPrice.toFixed(2)

x
您正在执行字符串连接,而不是添加浮点。只需使用
parseFloat
,然后在需要实际字符串表示形式时,将小数点放在末尾

var-arr=[“0.20”,“1.20”];
var totalPrice=0;
var arrLength=arr.length;
while(arrLength--){
totalPrice+=parseFloat(arr[arrLength]);
}
document.getElementById(“结果”).innerHTML=totalPrice.toFixed(2)

x
函数
.toFixed()
返回一个字符串,而不是一个数字。@Pointy是正确的。如果要保留小数位数,为什么不在最终结果上应用
.toFixed()
?您也不需要
parseFloat
,因为
*100
已经将字符串值强制为数字。
.toFixed()
函数返回字符串,而不是数字。@Pointy是正确的。如果要保留小数位数,为什么不在最终结果上应用
.toFixed()
?您也不需要
parseFloat
,因为
*100
已经将字符串值强制为数字。
.toFixed()
函数返回字符串,而不是数字。@Pointy是正确的。如果要保留小数位数,为什么不在最终结果上应用
.toFixed()
?您也不需要
parseFloat
,因为
*100
已经将字符串值强制为数字。
.toFixed()
函数返回字符串,而不是数字。@Pointy是正确的。如果您想保留小数点,为什么不在最终结果上应用
.toFixed()
?您也不需要
parseFloat
,因为
*100
已经将字符串值强制为数字。谢谢@MatthewG,这肯定会把事情弄清楚!比我原来的要干净多了。谢谢@MatthewG,这肯定会把事情弄清楚的!比我原来的要干净多了。谢谢@MatthewG,这肯定会把事情弄清楚的!比我原来的要干净多了。谢谢@MatthewG,这肯定会把事情弄清楚的!比我原来的衣服干净多了。