詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

0.9999.toLocaleString() => '1'

0.9.toLocaleString()
// => '0.9'
0.99.toLocaleString()
// => '0.99'
0.999.toLocaleString()
// => '0.999'
0.9999.toLocaleString()
// => '1'

ちょっと驚いたので調べた。

というわけで、以下と同じことをしていたらしい。

new Intl.NumberFormat({maximumFractionDigits: 3, roundingMode: "halfExpand"}).format(0.9999)
// => '1'

より詳しくは ECMAScript® 2024 Internationalization API Specification を参照したらいいと思う。

はてなで一緒に働きませんか?