我想知道JavaScript的浮点限制是什么。我有以下代码,不会返回详细的浮点结果,如:
2e-2 is the same as 0.02
var numero = 1E-12;
document.write(numero);
返回1e-12。
JavaScript可以处理的最大指数结果是什么?
答案 0 :(得分: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 是次正规且位数较少。)有限的位数意味着许多数字不能完全表示,包括示例中的.02。因此,算术运算的结果四舍五入到最接近的可表示值,并且计算链中的错误可能会消除或可能累积,甚至是灾难性的。
格式还包括一些名为NaN的特殊实体(非数字)。 NaNs可用于表示尚未初始化数字,用于特殊调试目的,或表示没有数字适合的操作的结果(例如-1的平方根)。
答案 1 :(得分:0)
小于零的最大值。?
有一个详细的讨论here。基本上,0.00000x将以指数形式显示(小数点后5个零)。
当然,您可以自己测试一下;)特别是要查看此行为是否可靠跨浏览器。
就个人而言,我认为你不应该担心或依赖这种行为。当你来显示一个数字时,只需适当地格式化它。