Добавляйте ведущие нули при использовании NumberFormat, JFormattedTextField


person Ali    schedule 16.03.2015    source источник


Ответы (2)


Вы можете использовать регулярные выражения, например:

if (someString.matches("^\\d{1,2}$")) {
    String appendZero = "0"+someString
}

Если возвращает true, если someString содержит ровно две цифры.

person qtips    schedule 16.03.2015
comment
Разве функция форматирования String не выполняет всю проверку за меня? - person Ali; 16.03.2015
comment
если вы просто хотите дополнить нулями, если хотя бы 3 цифры не введены, то да. String.format(%03d, 1) = 001 String.format(%03d, 10) = 010 String.format(%03d, 1) = 100 String.format(%03d, 1011) = 1011 Протестируйте - javarepl.com/console.html - person qtips; 16.03.2015
comment
Мой вопрос: как включить проверку/форматирование при использовании NumberFormat, JFormattedTextField? - person Ali; 16.03.2015
comment
Вы хотите показывать заполненные нули в текстовом поле, когда пользователь вводит текст? Затем у вас должен быть прослушиватель (PropertyChangeListener), который фиксирует значение при вводе, дополняет значения и обновляет текстовое поле или какую-либо другую метку. Заполнение может быть выполнено с помощью String.format(). docs.oracle.com/javase/7/docs/ API/javax/качели/ - person qtips; 16.03.2015

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

person Ali    schedule 16.03.2015