首页 > 解决方案 > 从字符串转换时如何在javascript中添加值

问题描述

我有一个字符串,我尝试将其转换为具有 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);
}

标签: javascriptdoubledecimal

解决方案


那么你的问题是放置toFixedtoFixed返回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)
}


推荐阅读