|
|
|
Полные непонятки с NumberFormatter
|
|||
|---|---|---|---|
|
#18+
Добрый день! Раньше я считал, что 3w0 - это не число. Но вот сегодня меня javax.swing.text.NumberFormatter пытается убедить в обратном: import javax.swing.text.NumberFormatter(); .... ( new NumberFormatter()).stringToValue( "3w0" ) - получается число 3. Как мне объяснить NumberFormatter'у (или DecimalFormat'у), что я не хочу принимать от пользователей ничего, кроме числа с возможной дробной частью если маска "########0.00"? -- Алексей Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:06:39 |
|
||
|
Полные непонятки с NumberFormatter
|
|||
|---|---|---|---|
|
#18+
А почему не Integer.parseInt()? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:26:51 |
|
||
|
Полные непонятки с NumberFormatter
|
|||
|---|---|---|---|
|
#18+
Double.parseDouble() извиняюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:27:32 |
|
||
|
Полные непонятки с NumberFormatter
|
|||
|---|---|---|---|
|
#18+
LINUXER wrote: > Double.parseDouble() извиняюсь Потому что это new JFormattedTextField( new NumberFormatter( new DecimalFormat( "########0.00" ))) ....и его поведение мне не нравится, а то, что показал- это так, для примера. -- Алексей Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:37:48 |
|
||
|
Полные непонятки с NumberFormatter
|
|||
|---|---|---|---|
|
#18+
2 GKS_Samara: Используй ParsePosition дополнительно. Он хранит в себе информацию об ошибках при распарсивании. Типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:37:56 |
|
||
|
Полные непонятки с NumberFormatter
|
|||
|---|---|---|---|
|
#18+
Чуток по-другому... проверять, что было распарсено все число надо, а не код ошибки: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:44:14 |
|
||
|
Полные непонятки с NumberFormatter
|
|||
|---|---|---|---|
|
#18+
Текущий индекс, на котором стоим - и есть тот символ, на котором форматтер споткнулся и не смог его попарсить... З.Ы. И кроме того ParsePosition можно юзать для того, чтобы парсить число не сначала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:48:26 |
|
||
|
Полные непонятки с NumberFormatter
|
|||
|---|---|---|---|
|
#18+
Зашедший wrote: > Используй ParsePosition дополнительно. Он хранит в себе информацию об > ошибках при распарсивании. Только при использовании JFormattedTextField добраться до ParsePosition непросто- пришлось определять своего наследника DecimalFormat и переопределять parseObject(String source), который зовётся в поле. > *if* (pp.getErrorIndex() != -*1*) { Ха! Если передать строку 3w0, то getErrorIndex()==-1, зато pos.getIndex()==1, что и даёт ключ для поиска ошибки: pos.getIndex() < source.length() :) -- Алексей Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 12:57:01 |
|
||
|
Полные непонятки с NumberFormatter
|
|||
|---|---|---|---|
|
#18+
GKS_Samara Зашедший wrote: > Используй ParsePosition дополнительно. Он хранит в себе информацию об > ошибках при распарсивании. Только при использовании JFormattedTextField добраться до ParsePosition непросто- пришлось определять своего наследника DecimalFormat и переопределять parseObject(String source), который зовётся в поле. > *if* (pp.getErrorIndex() != -*1*) { Ха! Если передать строку 3w0, то getErrorIndex()==-1, зато pos.getIndex()==1, что и даёт ключ для поиска ошибки: pos.getIndex() < source.length() :) -- Алексей Posted via ActualForum NNTP Server 1.3 Уже все отписал :) Давно не пользовался, так что деталь насчет getIndex() вспомнил не сразу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 13:07:15 |
|
||
|
Полные непонятки с NumberFormatter
|
|||
|---|---|---|---|
|
#18+
Зашедший wrote: > Уже все отписал :) Давно не пользовался, так что деталь насчет > getIndex() вспомнил не сразу... Да, спасибо, главное понять где копать. Тема закрыта с полной победой :) -- Алексей Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2007, 13:11:37 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34251440&tid=2146986]: |
0ms |
get settings: |
19ms |
get forum list: |
22ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
54ms |
get topic data: |
18ms |
get forum data: |
4ms |
get page messages: |
70ms |
get tp. blocked users: |
3ms |
| others: | 309ms |
| total: | 509ms |

| 0 / 0 |
