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

How do I deal with number greater than 2^53 in Javascript?

我查看了有关 JavaScript 中数字的最大 and/or 最小限制的问题。他们都说限制是如何从 -2^53 到 2^53 包括在内,但是 none 他们说如果需要的话是否有任何方法可以处理超出该范围的数字,除了一个答案说你可以把它变成一个字符串,但它不是很具体,我不明白。

如果有人可以阐述将其更改为一串新报价的想法,那将非常有帮助。

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

Javascript 数字在内部表示为 IEEE 754 double-precision floating point numbers.

在绝对尺度上,它们可以表示从-21023到21023的数字。对于像 1 这样的小数,它们具有非常高的精度,精度可达 2-52。但是,随着数字量级的增加,表示的精度会降低。您读到的 ±253 范围是整数表示的最大范围——一旦数字超过 253,最小值 "step" 从 1 增加到 2。

如果您需要精确表示大于 253 的整数,您将需要使用 Javascript bignum 库。但是,如果您只需要表示 floating-point 个值,就可以了;默认数字类型就可以了。