jQuery 全球化解析负数

jQuery Globalize parse negative number

我在使用 jQuery Globalize 1.1.1 解析负数时遇到问题:

Globalize.parseNumber('-1'); // = 1
Globalize.parseNumber('-100,00'); // = 100

看来 Globalize 正在将负数转换为正数。加载以下 CLDR 数据:

无法通过 Google 搜索找到关于此的任何内容。我错过了什么吗?

Globalize(1.1.x)解析时从CLDR推导出减号符号。在瑞典语 (sv) 中,减号是 (0x2212) 而不是 - (0x2D),正如您在上面的示例中使用的那样。这就是为什么它不适合你。断言负数解析的快速测试是:

var sv = Globalize("sv");
sv.parseNumber(sv.formatNumber(-100)) === -100; // > true

话虽如此,"Loose Matching" 似乎是您可能感兴趣的一项功能。它会在解析之前规范化不同类型的破折号、不间断 space 到 space、用作缩写的逗号等。 Globalize 不支持它。我们在这里跟踪这样的功能:

https://github.com/jquery/globalize/issues/292