jQuery Globalize解析负数

时间:2016-10-05 09:41:58

标签: javascript jquery jquery-globalize

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

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

所以似乎Globalize正在将负数转换为正数。加载以下CLDR数据:

  • 补充/ likelySubtags
  • 补充/ timeData
  • 补充/ weekData
  • 补充/ numberingSystems
  • 主/ SV /数字
  • 主/ SV / timeZoneNames
  • 主/ SV / CA-阳历

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

1 个答案:

答案 0 :(得分:0)

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

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

话虽如此,似乎“松散匹配”是一个可能对您有用的功能。在解析之前,它会规范化不同类型的破折号,不间断空格到空格,逗号用作缩写等。 Globalize不支持它。我们在这里跟踪这样的功能:

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