локализация в проверке текста - PullRequest
0 голосов
/ 03 июня 2009

Недавно я понял, что некоторые страны отображают числа с плавающей запятой с разными обозначениями запятой / точки.

т. у нас было бы 12 500,34, а некоторые страны указали бы его как 12 500,34

Это может быть не проблема с отображением, но как насчет ввода текста? Например, я представляю, что если бы у меня был десятичный тип и я отображал его в метке, то метод ToString () (или его эквивалент на выбранном вами языке) использовал бы параметры локализации и правильно отображал бы его, а также разбор различных строк -> Числовые методы, вероятно, тоже будут работать.

А как насчет проверки текста? Например, я хочу, чтобы в текстовом поле было разрешено только 5 цифр, а затем необязательный десятичный знак и еще до 4 цифр? Каково общее решение в этом случае, когда вы не знаете, какими будут их разделители? Очевидно, что жестко запрограммированные шаблоны регулярных выражений, которые я сейчас использую, потерпят неудачу, поэтому мне просто интересно, что некоторые из вас сделали в этих случаях?

спасибо за любой совет

Ответы [ 2 ]

0 голосов
/ 03 июня 2009

Это будет очень зависеть от языка. Ни один из двух языков не может справиться с этим одинаково.

Я могу дать несколько советов о Java. В Java вы бы справились с этим с помощью NumberFormat. Если NumberFormat.parse () работает без выброса исключения, то это допустимое число в любой используемой локали. Вы можете установить максимальное количество десятичных разрядов, которое вы примете, и т. Д. Все это сильно зависит от Java, поэтому я не буду вдаваться в подробности, если вы не скажете, что вы используете Java.

0 голосов
/ 03 июня 2009

Где бы они ни жили или как бы они ни были указаны, вам нужно инкапсулировать правила, которые являются или могут быть специфичными для локали или анализируют входные данные (для проверки), которые могут быть специфичными для локали. Таким образом, вы можете отключить реализацию в зависимости от локали.

В зависимости от того, как и где они находятся, вы можете использовать некоторые фреймворки ( JPF делает это ) для применения в фреймворке или вы также можете расширить вашу фреймворк для работы с ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...