![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Real McCoy |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 28.6.2007 Репутация: нет Всего: 2 |
Здравствуйте все!
О преобразовании чисел, выраженных в виде строки я тут читал. Сам пробовал два способа: 1. Проверки с помощью исключения:
2. Проверки с помощью регэкспа:
Сейчас, столкнулся я со следующей проблемой: на форме есть JSpinner с моделью SpinnerNumberModel, редактирование поля у спиннера разрешено. Необходима валидация введённого пользователем. Введённое в поле Спиннера получается путём такого страшного выражения:
И оказывается, что например в числе 1000, которое после получения выглядит как "1 000" (введено не пользователем, а пролистано спиннером), между 1 и 0 не пробел, а символ с десятичным кодом 160. Если эту строку попытаться проверить любым из двух способов, то оно не распознается как число. Вопрос: как всё-таки сделать валидацию на то, что в спиннере число? |
||||||
|
|||||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
А почему вы получаете число из вида, а не из модели?
|
|||
|
||||
| Real McCoy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 28.6.2007 Репутация: нет Всего: 2 |
Потому что модель вернёт последнее корректное значение спиннера. А мне надо предупредить пользователя, если он ввёл что-то неправильное, что значение спиннера откачено к предыдущему. Иначе он просто не заметит этого, т.к. на форме довольно много контролов.
|
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Real McCoy
А если удалить из строки все символы с десятичным кодом 160 и применить описанный тобой способ? |
|||
|
||||
| Real McCoy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 28.6.2007 Репутация: нет Всего: 2 |
Maksym,
В конце концов я так и сделал. Только символ для замены на пустой получаю у эдитора спиннера:
Правда выглядит это как workaround. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |