Intl.NumberFormat#format 最大整数值
Posted
技术标签:
【中文标题】Intl.NumberFormat#format 最大整数值【英文标题】:Intl.NumberFormat#format maximum integer value 【发布时间】:2015-01-30 05:54:10 【问题描述】:在ECMAScript Internationalization API 1.0 spec中,NumberFormat
对象有一个format
函数,它接受一个值并根据NumberFormat
对象格式化数字。
NumberFormat#format
函数可以消化的最大值是多少?
在 Chrome 和 Firefox 下运行:
new Intl.NumberFormat().format(1111111111111111);
// => "1,111,111,111,111,110"
// ^
// 16th digit
似乎第 15 位之后的任何内容都转换为 0
。我快速浏览了规范,但不知道为什么。有谁知道为什么?
可能是因为上述 ES5 规范遵循 IEEE 754 规范?想不出别的了……
【问题讨论】:
【参考方案1】:ES5 规范遵循 IEEE 754 规范
ECMAScript Intl API 规范参考了 ES5 规范的基本类型。
【讨论】:
以上是关于Intl.NumberFormat#format 最大整数值的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Intl.NumberFormat 与本机反应一起使用?
使用不带货币符号的 Intl.NumberFormat 进行货币格式化