jQuery全球化解析负数

jQuery Globalize parse negative number

本文关键字:全球化 jQuery      更新时间:2023-09-26

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

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

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

  • 补充/likelySubtags
  • 补充/timeData
  • 补充/weekData
  • 补充/numberingSystems
  • <
  • 主要/sv/数字/gh>
  • 主要/sv timeZoneNames
  • 主要/sv ca-gregorian

通过谷歌搜索未能找到任何相关内容。我错过什么了吗?

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