Почему плагин 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

Надеюсь, это поможет:)

Другие вопросы по тегам