javascript 变量中允许的最大整数是多少? [复制]

Posted

技术标签:

【中文标题】javascript 变量中允许的最大整数是多少? [复制]【英文标题】:What is the maximum integer allowed in a javascript variable? [duplicate] 【发布时间】:2012-08-28 14:20:28 【问题描述】:

可能重复:What is javascript's Max Int? What's the highest Integer value a Number can go to without losing precision?

javascript 中的最大整数是多少?我有一个从 0 开始的变量,每 0.1 秒增加 100。最多可以达到多少?

顺便说一句,我以为这个问题以前已经回答过,但我找不到。如果有答案,请给我一个链接=)谢谢!

【问题讨论】:

【参考方案1】:

JavaScript 数字是 IEE 794 浮点双精度值。有一个 53 位尾数(根据记忆),所以这几乎是限制。

现在,JavaScript 语义有时会要求将数字转换为 32 位整数值,例如数组索引和位运算符。

【讨论】:

【参考方案2】:

一个 javascript 变量可以有任何你喜欢的值。如果本机支持还不够,有各种库支持无限精度算术(例如BigInt.js)。

ECMAScript Number Type 的最大值是 +ve 无穷大(但无穷大不是一个数字,而是一个概念)。最大数值由 Number.MAX_VALUE 给出,它是 IEEE 754 64-bit double-precision number 可表示的最大值。

一些怪癖:

var x = Number.MAX_VALUE;
var y = x - 1;
var z = x - 2;

x == y; // true
x == z; // false

ECMAScript 中可表示的连续整数的范围是从 -2^53 到 +2^53。最大指数为 2^1023。

【讨论】:

【参考方案3】:

1.7976931348623157e+308

自己尝试编码

代码

alert(Number.MAX_VALUE);

http://jsfiddle.net/XHcZx/

【讨论】:

这不是被问到的,我不认为。这个问题明确地说 integer,我怀疑这意味着 OP 对表示连续整数序列的能力感兴趣。如果您从该值中减去 1,您将不会真正得到该数字减去 1。 太好了,谢谢。我不知道 Number.MAX_VALUE 属性,它实际上显示了 javascript 中应该是最大可能的数字。 @jpatiaga 你的问题应该很清楚 - integernumber 这两个词的意思不同! (虽然不可否认,该值是一个整数 :-) 根据ECMA-262 §15.7.3.2,这是largest positive finite value of the Number type近似。您不能从零构造一个连续的数字序列,例如Number.MAX_VALUE - 1 == Number.MAX_VALUE // true.

以上是关于javascript 变量中允许的最大整数是多少? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将文本字段中允许的最大输入值限制为 10? [复制]

增加MySQL中允许的最大u包数

元素数超过 SQL 数据透视语句中允许的最大值

php数组键中允许的字符?

php中允许的内存大小为33554432字节耗尽(尝试分配43148176字节)

Javascript:导出大文本/csv 文件会使 Google Chrome 崩溃