具有maximumFractionDigits的Intl.NumberFormat

时间:2016-09-06 17:18:02

标签: javascript

我试图使用Intl.NumberFormat函数在Javascript中格式化数字。 我创建了一个新的数字格式化程序,其maximumFractionDigits为20。

var formatter = Intl.NumberFormat(undefined,{maximumFractionDigits:20});

如果我使用此格式化程序格式化数字,则小数位数的最大数量为n' t 20。 例如:formatter.format(1.123456789)结果:" 1.123456789" 按预期工作。

formatter.format(1.123456789123456)结果:" 1.12345678912346" 在这种情况下,数字有15个小数位,格式化的字符串只有14个。我不明白这个结果。 这与chrome firefox的结果相同

1 个答案:

答案 0 :(得分:0)

JavaScript编号始终是64位浮点。

最大小数位数为17,但浮点运算并不总是100%准确。

请参阅此Floating-Point Guide