全球化新v1.2中的错误。*?解析空字符串返回0

时间:2017-01-19 17:51:53

标签: globalization jquery-globalization jquery-globalize javascript-globalize

此问题代表Globalize的建议错误。该项目的所有者要求首先将其作为SO问题发布,所以我们在这里......

使用Globalize的新版本1.2.1(和1.2.2),我们注意到数字解析空字符串返回0(看似独立于文化)。此行为与之前的版本1.1.2不同,后者返回NaN。再现:

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

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

此外,全球化项目中的相关unit test似乎并未涵盖此案例,因此不清楚是否有意改变行为。通过简要介绍1.2。*版本的更改日志,我似乎无法找到任何改变此行为的意图。

请注意,解析新版本中的空格确实会返回NaN:

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

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

1 个答案:

答案 0 :(得分:2)

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

中进行跟踪