1

새 버전 1.2.1 Globalize에서는 "수백 개"범위의 숫자 (예 : 100 ~ 999 개)의 구문 분석에 실패한 17 개 문화권이 있습니다.).새로운 v1.2.1에서 버그를 세계화합니까? 특정 숫자를 파싱하면 17 개 문화권 (인도, 방글라데시, 부탄)의 NaN이 반환됩니다.

var g = new Globalize("en-IN"); 
g.numberParser()(g.numberFormatter()(1000.01)); // prints 1000.01 
g.numberParser()(g.numberFormatter()(999.99)); // prints NaN 
본인이 아는

, 숫자 999.99를 포맷하고 다음은

(또한 동일한 결과로 CLDR 30.0.3 데이터 테스트)를 CLDR JSON data 버전 30.0.2을 사용하여 구체적인 예이다 구문 분석하면 NaN이되지 않으므로 버그가있는 것 같습니다. NaN 또한 숫자 100에 대한 결과이며 실제로 3 자릿수의 모든 숫자에 대한 결과 인 것처럼 보입니다. 우리는 버전 1.1.2에서 이전의 세계화 코드를 사용하는 경우

var g = new Globalize("en-IN"); 
console.log(g.numberParser()("1,000.01")) // prints 1000.01 
console.log(g.numberParser()("100.01")) // prints NaN 

다음 동작이 올바른지 (즉, 더 NaN의 문제) :

우리가 구문 분석 단계에 초점을 맞출 경우

, 우리는 다음과 같은하지 않습니다를 참조하십시오.

해당 문화권은 as-IN,bn-BD,bn-IN,brx-IN,dz-BT,en-IN,gu-IN,hi-IN,kok-IN,ks-Arab-IN,ml-IN,mr-IN,or-IN,pa-IN,ta-IN,ta-LK,te-IN입니다. 우리 유닛 테스트는 Globalize 1.2.1로 업그레이드 한 후에 모두 테스트했습니다.

우리는 누군가 이것을 충분히 재현 할 수 있는지 궁금해합니다. (이런 종류의 일을하기위한 jsfiddle 템플릿이 있습니까?) 그리고 새로운 버전의 Globalize에서 변경 될 수 있습니다 (가정 할 때 문제입니다). Globalize에서)이 문제를 일으켜서 해당 문제를 게시 할 수 있습니다.

답변