Raf*_*ero 4 javascript internationalization ecmascript-6
我正在尝试使用Intl.NumberFormat格式化数字。
\n\n我已经检查了MDN WebDocs,但我无法获得我认为它应该返回的响应。
\n\n我正在使用西班牙语语言环境进行格式化,并且我想获取千位之间的点分隔符(使用useGrouping选项),但是,我没有得到它
var sNumber = \'1124.5\'\r\nvar number = new Number(sNumber);\r\n\r\nlet style = {\r\n style: \'currency\',\r\n currency: "EUR",\r\n minimumFractionDigits: 2,\r\n useGrouping: true\r\n };\r\n\r\nconst formatter = new Intl.NumberFormat("es", style);\r\n\r\nconsole.log(formatter.format(number));Run Code Online (Sandbox Code Playgroud)\r\n这似乎是 4 位数字(即 1234.56)的西班牙语格式化程序的一个功能。
\n\n看一下下面的内容并运行它:
\n\nlet style = {\r\n style: \'currency\',\r\n currency: "EUR",\r\n minimumFractionDigits: 2,\r\n useGrouping: true\r\n };\r\nvar formatter = new Intl.NumberFormat("es", style);\r\n\r\nconsole.log(\'Spanish (ES)\');\r\nconsole.log(formatter.format(1234.56));\r\nconsole.log(formatter.format(12345.67));\r\nconsole.log(formatter.format(123456.78));\r\n\r\nformatter = new Intl.NumberFormat("de-DE", style);\r\n\r\nconsole.log(\'German (de-DE)\');\r\nconsole.log(formatter.format(1234.56));\r\nconsole.log(formatter.format(12345.67));\r\nconsole.log(formatter.format(123456.78));Run Code Online (Sandbox Code Playgroud)\r\n您将看到,对于 5 位及以上数字,西班牙语格式化程序确实按预期对数字进行了分组。
\n\n但是,如果您使用德语格式化程序 ( de-DE),它会正确格式化 4 位数字。
输出:
\n\nSpanish (ES)\n1234,56 \xe2\x82\xac\n12.345,67 \xe2\x82\xac\n123.456,78 \xe2\x82\xac\n\nGerman (de-DE)\n1.234,56 \xe2\x82\xac\n12.345,67 \xe2\x82\xac\n123.456,78 \xe2\x82\xac\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
4737 次 |
| 最近记录: |