字符串的 parseFloat 是否有限制字符串可以有多少个字符?我在这里看不到任何关于限制的信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat
但在控制台中运行以下命令似乎显示出我意想不到的结果。
parseFloat('1111111111111111'); // 16 characters long
// result 1111111111111111
parseFloat('11111111111111111'); // 17 characters long
// result 11111111111111112
谁能帮我分解一下?
最佳答案
在 Javascript 中, float 存储为 double precision值。它们有大约 16 位有效数字,这意味着 17 位数字不一定会被准确存储。
您可以向 parseFloat()
提供任意长度的数字,但无法存储大于 1.79769×10308 的任何数字,这是最大的可以存储在 double 变量中的可能值。
如果您有时间,我建议您阅读此书:What Every Computer Scientist Should Know About Floating-Point Arithmetic
关于javascript - 长度超过 16 个字符的字符串的 parseFloat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19613256/