我有一个字符串,我尝试将其转换为具有 16 位小数的十进制数。然后我想将该数字添加到数字 0 上,这应该是:
30280.9529335
但我得到:030280.9529335
如何在 JavaScript 中正确执行此操作?
var totalnumber = 0; var str = "30280.9529335";
totalnumber = totalnumber + ConvertToDouble(str);
console.log(totalnumber); //030280.9529335
function ConvertToDouble(x) {
return Number.parseFloat(x).toFixed(16);
}
最佳答案
你的问题是 toFixed
的位置,toFixed
返回 String
而不是数字
console.log(typeof (1).toFixed(2))
因此,您的 ConvertToDouble
函数返回 string
和 0
+ some numeric string
将充当连接而不是加法
var totalnumber = 0; var str = "30280.9529335";
totalnumber = totalnumber + ConvertToDouble(str);
console.log(totalnumber.toFixed(16)); //030280.9529335
function ConvertToDouble(x) {
return Number.parseFloat(x)
}
关于javascript - 从字符串转换时如何在 javascript 中添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55325288/