【发布时间】:2019-09-14 00:27:27
【问题描述】:
运行时
console.log(new Intl.NumberFormat('en-US', {
minimumFractionDigits: 0,
maximumFractionDigits: 0,
maximumSignificantDigits: 3,
minimumSignificantDigits: 1
}).format(10.123456789));
我希望输出为10。相反,由于某种原因,它输出 10.1 打破了 maximumFractionDigits: 0 约束。这是怎么回事?考虑到这个约束在浏览器中被忽略,这似乎符合规范,但我无法想象这是什么原因。
【问题讨论】:
-
这种同样的行为似乎也在迅速发生:stackoverflow.com/questions/27644341/…
-
似乎有效数字优先于小数数字。我想如果你真的不想要小数位数,你总是可以
Math.round,尽管我同意这不太理想。
标签: javascript number-formatting