Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从字符串转换时如何在javascript中添加值_Javascript_Double_Decimal - Fatal编程技术网

从字符串转换时如何在javascript中添加值

从字符串转换时如何在javascript中添加值,javascript,double,decimal,Javascript,Double,Decimal,我有一个字符串,我试图将其转换为16位小数的十进制数。然后我想将该数字添加到数字0中,该数字应为: 30280.9529335 但我得到:030280.9529335 如何在javascript中正确地实现这一点 var totalnumber=0;var str=“30280.9529335”; totalnumber=totalnumber+ConvertToDouble(str); console.log(totalnumber)//30280.9529335 函数ConvertToD

我有一个字符串,我试图将其转换为16位小数的十进制数。然后我想将该数字添加到数字0中,该数字应为:

30280.9529335
但我得到:
030280.9529335

如何在javascript中正确地实现这一点

var totalnumber=0;var str=“30280.9529335”;
totalnumber=totalnumber+ConvertToDouble(str);
console.log(totalnumber)//30280.9529335
函数ConvertToDouble(x){
返回编号.parseFloat(x).toFixed(16);

}
您可以使用与以前类似的
Number.parseFloat
Number.parseInt
。您错误地使用了
toFixed

toFixed()
方法将数字转换为字符串,保留指定的小数位数。如果所需的小数数高于实际数,则添加空值以创建所需的小数长度

例如:

设totalnumber=0;
让str=“30280.9529335”;
函数转换(a,b){
试一试{
return(Number.parseInt(a)+Number.parseFloat(b)).toFixed(16)
}捕获(错误){
返回误差;
}
}
函数转换器b(a,b){
试一试{
返回Number.parseInt(a)+Number.parseFloat(b)
}捕获(错误){
返回误差;
}
}
console.log(转换(totalnumber,str))

console.log(convertb(totalnumber,str))
您的问题是
toFixed
toFixed
返回
String
而不是数字的位置


console.log(typeof(1).toFixed(2))
它工作了,但我想知道:如果我删除了“.toFixed(16)”,它在计算时仍然使用16位小数,还是只浮动7位小数?@Andreas它将像以前一样只使用7位小数。@code-Maniac我明白了,因此,在javascript/node.js中根本不可能计算16位小数?我不确定.toFixed(16)是否正确,我认为它返回了一个16位小数。所以这是一根绳子。这对于发生的连接是有意义的。
let a = "30280.9529335";
console.log(parseFloat(a))
// 30280.9529335