【发布时间】:2016-12-20 22:53:58
【问题描述】:
在 Javascript 中,我想以用户理解的格式向用户显示一个数字,以便他们可以对其进行编辑。因此,系统需要解析国际号码。
这是因为如果他们在法国,他们可能更喜欢编辑数字“1.000.000,5”,而如果他们在澳大利亚,他们可能更喜欢编辑数字“1 000 000.5”或“ 1,000,000.5”。 (为了澄清问题的范围:我的代码不应该知道这个或那个语言环境的个别规则。是否有任何国家使用 ! 作为小数点?我不知道,我不想知道。)
现代 Javascript 提供了 Intl.NumberFormat API,但它似乎只处理生成数字,而不是解析它们。
如何解析本地化数字?
【问题讨论】:
-
这看起来很像this question 和this question。如果您不喜欢这些答案中的任何一个,则可能需要自制解决方案。如果这样做,请确保将其放在 github 上。好像是个通病!
-
您可能想查看Globalize.js,它有一个数字格式化程序和解析器(除其他外)。另见Internationalization(Number formatting “num.toLocaleString()”) not working for chrome。
标签: javascript internationalization number-formatting