В приложении Wicket у меня есть текстовое поле с десятичным числом:
TextField<BigDecimal> f =
new TextField<BigDecimal>("f", new PropertyModel<BigDecimal>(model, "share"));
Я хочу, чтобы он всегда принимал и то, и другое. (точка) и (запятая) в качестве десятичного разделителя (независимо от языковых настроек браузера).
Для отображения значения используется локаль сеанса [которая в нашем случае должна быть "fi" (-> запятая)], но здесь меня интересует, что поле принимает < / em> в качестве ввода.
У меня вопрос: нужно ли менять поле на TextField<String>
и вручную преобразовывать в тип объекта домена (BigDecimal)? Или есть какой-то способ использовать TextField<BigDecimal>
(который позволяет, например, использовать MinimumValidator или RangeValidator Wicket) и по-прежнему принимать оба десятичных разделителя?
.
используется для группировки тысяч и,
в качестве десятичного разделителя. Если вам нужен универсальный анализатор чисел, убедитесь, что ваш код может обрабатывать числа типа32.519.100,28
. - person biziclop   schedule 11.07.2011