2

为什么全球化9,999.99在英语本地 (en-CA) 中而不是9 999,99在法语本地 (fr-CA) 中。在这种情况下,空间是否会导致问题?

当我调用 numberParser 方法时会发生这种情况。如果我输入,则返回 NaN,9 999,99但应该接受,因为格式化程序会返回它。

4

1 回答 1

2

开箱即用的简短回答:因为当前的 Globalize 缺少称为“松散匹配”的解析器功能https://github.com/jquery/globalize/issues/292

简短的具体答案:因为空格和不间断空格是两个不同的字符。fr-CA 分组分隔符的“空格”不是常规空格(字节码 32 = 十六进制 20),而是不间断空格(字节码 160 = 十六进制 A0)。在将输入提供给解析器之前尝试“清理”您的输入input.replace( "\x20", "\xa0" )作为解决方法。

您可以在https://github.com/jquery/globalize/issues/288找到详细信息

我希望这会有所帮助:)

于 2016-05-06T13:41:25.440 回答