字符串的parseFloat长度超过16个字符(parseFloat of string longe

2019-10-18 20:36发布

是否字符串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

谁能打破这对我?

Answer 1:

在Javascript中,浮点数存储为双精度值。 这些具有约16显著位,这意味着,一个17位的数字不一定精确地存储。

你可以提供数字的任意长度的parseFloat()但它不会是能够存储任何比1.79769×10 308,其是可以被存储在双精度变量的最大可能值。

我建议你阅读这一点,如果你有时间: 什么每台计算机科学家应该知道关于浮点运算



文章来源: parseFloat of string longer than 16 characters