javacript库将字符串转换为float

javacript library to convert string into float

提问人:Ankit Sharma 提问时间:4/1/2023 最后编辑:Ankit Sharma 更新时间:4/1/2023 访问量:40

问:

我正在开发一个计算器应用程序。 一切运行良好,但是当我尝试计算带有十进制的数字之间的差异时,它遇到了问题。 问题来自我用来将字符串转换为数字的方法。 例如 parseFloat(“0.584”) - parseFloat(“0.94801”) -0.36401000000000006

理想情况下,输出应为 -0.36401,但末尾有不必要的零和 6。

作为临时修复,我最后使用了 toFixed(5)。 (parseFloat(“0.584”) - parseFloat(“0.94801”)).toFixed(5) '-0.36401' 但这限制了我的计算器精确到小数点后 5 位

有没有更好的方法可以更精确地将字符串转换为浮点数?

JavaScript 精度 负数 parsefloat

评论

0赞 mousetail 4/1/2023
不,您不想使用 float,因为无论您如何转换小数,float 都无法准确存储小数。查找一些十进制数字库
0赞 Jagroop 4/1/2023
嗨,您可以像这样使用数字: const num1 = Number(“0.584”);
0赞 Ankit Sharma 4/1/2023
使用数字最终会遇到同样的问题 Number(“0.584”) - Number(“0.94801”) -0.364010000000000006
0赞 Raeisi 4/1/2023
这是浮点数的常见问题,而不仅仅是 Javascript 的问题。请点击此链接可能会对您有所帮助。stackoverflow.com/questions/3612744/....据我所知,除了使用 round 或 toFixed(或设置精度)之外,没有确切的方法可以解决这个问题。

答: 暂无答案