javascript-将数字转换为精度为2的浮点

javascript-将数字转换为精度为2的浮点,javascript,floating-point,precision,Javascript,Floating Point,Precision,我正在使用Javascript,需要将0.009之类的数字转换为0.90 我尝试执行以下操作,但它只返回0.9: parseFloat((testValue*100).toFixed(2)) 对于像0.0055这样的数字,它给了我0.55,但是对于0.009/0.008/0.007等,它给了我0.9/0.8/0.7,或者换言之,小数后精度为1的数字 如何使其在小数点后返回2精度?例如,我希望代码返回0.90表示0.009,0.80表示0.008,以此类推 任何帮助都将不胜感激。只需调用toFix

我正在使用Javascript,需要将0.009之类的数字转换为0.90

我尝试执行以下操作,但它只返回0.9:
parseFloat((testValue*100).toFixed(2))

对于像0.0055这样的数字,它给了我0.55,但是对于0.009/0.008/0.007等,它给了我0.9/0.8/0.7,或者换言之,小数后精度为1的数字

如何使其在小数点后返回2精度?例如,我希望代码返回0.90表示0.009,0.80表示0.008,以此类推

任何帮助都将不胜感激。

只需调用
toFixed(2)
,而无需调用
parseFloat()
parseFloat()
正在将格式化的数字转换回浮点数,它们的精度没有不同

let num=.009;
console.log((num*100).toFixed(2));
log(parseFloat((num*100).toFixed(2))只需调用
toFixed(2)
,而不调用
parseFloat()
parseFloat()
正在将格式化的数字转换回浮点数,它们的精度没有不同

let num=.009;
console.log((num*100).toFixed(2));

log(parseFloat((num*100).toFixed(2))将数字格式化为所需的位数后,不要调用
parseFloat()
。将其从格式化字符串转换回数字,数字没有特定的精度;在Javascript中,它的精度为53位,转换为十进制的15到17位,并且在小数部分始终显示为零。如果你想以另一种精度显示一个数字,你必须使用一个字符串:
num.toFixed(2)
(不带
parseFloat
,这将把它转换回float,它的精度将再次达到15-17,并且在小数部分不显示尾随的零)。我能得到上面的一个例子吗?^^^这是(阿马丹的评论)。数字是数字,
4.0
4.000
相同,后者与
4.00000000
相同。你如何决定写下它们是另一回事。作为一个数字,
.9
.90
之间没有区别。在用你想要的位数格式化数字后,不要调用
parseFloat()
。将其从格式化字符串转换回数字,数字没有特定的精度;在Javascript中,它的精度为53位,转换为十进制的15到17位,并且在小数部分始终显示为零。如果你想以另一种精度显示一个数字,你必须使用一个字符串:
num.toFixed(2)
(不带
parseFloat
,这将把它转换回float,它的精度将再次达到15-17,并且在小数部分不显示尾随的零)。我能得到上面的一个例子吗?^^^这是(阿马丹的评论)。数字是数字,
4.0
4.000
相同,后者与
4.00000000
相同。你如何决定写下它们是另一回事。作为一个数字,
.9
.90
之间没有区别。如果你设置num=1024.009;您的输出将分别为102400.90和102400.9。我想这是不正确的。num的值可以是任何数字,您的解决方案仅适用于0以下的数字。我的解决方案对所有数字都一视同仁。它乘以100,然后用2位小数显示结果,就像问题所说的那样。您认为
1024.009
的输出应该是什么?根据您的解决方案,102400.90和102400.9。只要试着在控制台上检查一下就可以了;您的输出将分别为102400.90和102400.9。我想这是不正确的。num的值可以是任何数字,您的解决方案仅适用于0以下的数字。我的解决方案对所有数字都一视同仁。它乘以100,然后用2位小数显示结果,就像问题所说的那样。您认为
1024.009
的输出应该是什么?根据您的解决方案,102400.90和102400.9。试着在控制台上检查一下。