Javascript parseFloat 改变数字

标签 javascript numbers parsefloat

我正在尝试将“9999999999999099”转换为javascript中的数字/ float 。 问题是 parseFloat(X) 和 Number(X) 都返回 9999999999999100。

这不是同一个号码。有谁知道为什么会发生这种情况以及如何避免它? 提前致谢。

最佳答案

两个数字具有相同的 float 表示形式,因为 float 仅精确到一定级别。

如果这些数字是用于计算的,为什么需要将它们转换为比 1 更精确的千万亿级精度?如果这些值不用于计算,请将它们保留为字符串。


不用于计算,我的意思是电话号码或身份证号码之类的东西。电话号码相加或相乘是没有意义的。

关于Javascript parseFloat 改变数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19960519/

相关文章:

python - 在 Python 3 中转换为不同的位置符号

javascript - 删除尾随零到小数点后 2 位

javascript - 如何匹配特定字符后的文本?

javascript - 如何在javascript中拆分字符串

android - 数字选择器在滚动/选择数字时抛出错误

python - 不会添加计数mastermind游戏python

javascript - 使 parseFloat 将带逗号的变量转换为数字

javascript - 如何 chop javascript中的浮点值

javascript - 使用 Google Places API 分页可获得 20 多个结果

javascript - 将多行 labelString 添加到 yAxes Chart.js