0

我想知道 JavaScript 的浮点限制是什么。我有以下代码不返回详细的浮点结果,如下所示:

2e-2 is the same as 0.02



var numero = 1E-12;
document.write(numero);

返回 1e-12。

JavaScript 可以处理的最大指数结果是多少?

4

2 回答 2

3

JavaScript 是 ECMAScript 的实现,在Ecma-262和 ISO/IEC 16262 中指定。Ecma-262 指定使用 IEEE 754 64 位二进制浮点。

在这种格式中,最小的正数是 2 –1074(略高于 4.94e–324),最大的有限数是 2 1024 –2 971(略低于 1.798e308)。可以表示无穷大,因此,从这个意义上说,JavaScript 中数字的值没有上限。

这种格式的数字在其有效数字(小数部分)中最多有 53 位。(低于 2 –1022的数字是次正常的,并且位数较少。)位数有限意味着许多数字无法精确表示,包括示例中的 0.02。因此,算术运算的结果被四舍五入到最接近的可表示值,并且计算链中的错误可能会取消或可能累积,甚至是灾难性的。

该格式还包括一些称为 NaN(表示非数字)的特殊实体。NaN 可用于指示数字尚未初始化,用于特殊调试目的,或表示没有数字适合的操作的结果(例如 –1 的平方根)。

于 2013-06-04T04:27:18.747 回答
0

小于零的最大值..?

这里有详细的讨论。基本上,0.00000x 将以指数形式显示(小数点后 5 个零)。

当然,你可以自己测试一下;)特别是看看这种行为是否可靠的跨浏览器。

就个人而言,我认为您不应该担心或依赖这种行为。当你来显示一个数字时,只需适当地格式化它。

于 2013-06-04T01:09:28.503 回答