Javascript";toLocaleString();当数字很大时,函数将小数变为零

Javascript";toLocaleString();当数字很大时,函数将小数变为零,javascript,number-formatting,Javascript,Number Formatting,我正在开发一个react应用程序,我需要使用toLocaleString函数格式化一些数字,我意识到当数字非常大时,数字的小数部分变为零 (10000.25).toLocaleString('en',{maximumFractionDigits: 2, minimumFractionDigits: 2}); //Output: 10,000.25 (10000000000000000000.25).toLocaleString('en',{maximumFractionDigits: 2, m

我正在开发一个react应用程序,我需要使用toLocaleString函数格式化一些数字,我意识到当数字非常大时,数字的小数部分变为零

(10000.25).toLocaleString('en',{maximumFractionDigits: 2, minimumFractionDigits: 2});
//Output: 10,000.25

(10000000000000000000.25).toLocaleString('en',{maximumFractionDigits: 2, minimumFractionDigits: 2});
//Output: 10,000,000,000,000,000,000.00


为什么会这样?这是一个bug还是我遗漏了什么?

Javascript编译器无法处理非常大的数字。使用
Number.MAX\u SAFE\u INTEGER
检查它能处理的最后一个数字。如果不计算这些数字(如果你从API类型得到它),或者尝试使用Type,请尝试从开始使用字符串类型。
对于浮点,它可以处理的精度为1位小数的最大数字是562949953421311,其他数字则不同。这一点已被提及。试着在你的例子中使用这个类。

这只是一个整数,对于像OP这样的浮点运算,它会少很多。更多信息请点击这里->谢谢。我很快就为数字类型添加了答案。我已经编辑了。正是我需要知道的。谢谢