Почему плагин jQuery Globalize восстанавливает 9 999,99 на локальном английском (en-CA), а не 9 999,99 на локальном французском?
Почему Глобализация 9,999.99
на английском языке местный (en-CA), но не 9 999,99
на французском языке (франц. CA). Пространство вызывает проблему в этом сценарии?
Это происходит, когда я вызываю метод numberParser. NaN возвращается, если я вхожу 9 999,99
но это должно быть принято, поскольку средство форматирования возвращает его.
1 ответ
Краткий продуманный ответ: потому что в текущей версии Globalize отсутствует функция синтаксического анализатора под названием "Loose Matching" https://github.com/jquery/globalize/issues/292.
Краткий конкретный ответ: потому что пробел и пробел - это два разных символа. "Пробел" разделителя группировки fr-CA не является обычным пробелом (байт-код 32 = шестнадцатеричный код 20), но это пробел без перерывов (байт-код 160 = шестнадцатеричный A0). Попробуйте "санировать" ваш вклад с помощью input.replace( "\x20", "\xa0" )
перед предоставлением парсеру в качестве обходного пути.
Вы можете найти подробную информацию на https://github.com/jquery/globalize/issues/288
Надеюсь, это поможет:)