如何在Javascript中处理大于2 ^ 53的数字?

时间:2016-01-02 01:50:42

标签: javascript limit

我查看了有关JavaScript中数字的最大和/或最小限制的问题。他们都说有关限制是多少-2 ^ 53到2 ^ 53(包括两者),但如果你需要,他们都不会说是否有办法处理超出该范围的数字,除了一个说你可以改变的答案它成了一个字符串,但它不是非常具体,我不理解它。

如果有人能够解释将其更改为一个新的提供字符串的想法,那将非常有帮助。

另外,作为旁注,它可能更简单。您如何确保数字不以科学记数法显示且仅以标准形式显示?

1 个答案:

答案 0 :(得分:2)

Javascript号码在内部表示为IEEE 754 double-precision floating point numbers

在绝对尺度上,它们可以表示从-2 1023 到2 1023 的数字。对于像1这样的小数字,它们具有非常高的精度,低至2 -52 的步长。然而,随着数字的大小增加,表示的精度降低。你读过的±2 53 范围是整数表示的最大范围 - 一旦数字超过2 53 ,最小“步”从1增加到2。

如果您需要精确表示大于2 53 的整数,则需要使用Javascript bignum库。但是,如果您只需要表示浮点值,那么就可以了;默认的数字类型就可以了。