Javascript 总数组值,保留小数点
我想从数组中的值计算一个总数 我尝试了几种不同的方法,但开始与JS中数字计算的奇迹搏斗 例如,这是我的数组: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.
["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,这肯定会把事情弄清楚的!比我原来的衣服干净多了。