全球化新 v1.2.* 中的错误?正在解析空字符串 returns 0

Globalize bug in new v1.2.*? Parsing empty string returns 0

这个问题代表了 Globalize 的提议错误。该项目的所有者要求首先将其作为 SO 问题发布,所以我们开始...

在 Globalize 的新版本 1.2.1(和 1.2.2)中,我们注意到数字解析空字符串 returns 0(看似独立于文化)。此行为不同于之前的版本 1.1.2,其中 returned NaN。复制:

var g = new Globalize("en-US");
g.numberParser()(''); // returns 0 in v1.2.1 and NaN in v1.1.2.

直觉告诉我解析空字符串不应该 return 0。Vanilla JavaScript 解析函数(例如 parseInt)return NaN 在这种情况下,支持这种直觉。

此外,Globalize 项目中的相关 unit test 似乎并未涵盖这种情况,因此不清楚更改后的行为是否有意为之。通过简要查看 1.2.* 版本的更新日志,我似乎找不到任何关于改变此行为的意图的注释。

请注意,在新版本中解析空格确实 return NaN:

var g = new Globalize("en-US");
g.numberParser()(' '); // returns NaN in both v1.2.1 and v1.1.2.

我们希望其中一位项目成员确认这是一个错误并在 Globalize 项目中提出相应的问题,或者解释为什么这是现在预期的行为。

这是一个错误,感谢报告,将在 https://github.com/globalizejs/globalize/issues/682

中进行跟踪