Olá pessoal tudo bem?
Estou usando os formattedtextfields com uma máscara
##,## que pode ser tanto um valor positivo, quanto um valor negativo.
Só que o meu textfield não está aceitando valores negativos.
Só aceita valores numéricos…
Como faço
Olá pessoal tudo bem?
Estou usando os formattedtextfields com uma máscara
##,## que pode ser tanto um valor positivo, quanto um valor negativo.
Só que o meu textfield não está aceitando valores negativos.
Só aceita valores numéricos…
Como faço
Aham, a máscara não seria “##.##” ?
(Você continua entrando com 12,34 se o seu “locale” for Português/Brasil)
Então, acabei não completando…
Como faço para o formattedtextfield aceitar valores negativos, pois quando coloco ##,## na máscara ele só aceita números
Acho que preciso deixar em letras maiores. (Acostume-se a procurar diferenças entre vírgulas e pontos, tanto em programação, quanto em leitura de textos em português; assim como a diferença entre maiúsculas e minúsculas. Reconheço que isso é muito chato)
[size=24]##,##[/size] é diferente de [size=24]##.##[/size]
A vírgula, em DecimalFormat, é um separador de milhares. É o ponto, em DecimalFormat, que é usado para separar a parte inteira da decimal.
De qualquer maneira, o que ocorre se você usar “-##.##” ?
Fica assim
O negativo fica fixo, e o resto fica normal…
acho q o DecimalFormat aceita negativos e positivos, tenta mudar de “##.##” para “00.00”, vai ver # eh diferente de 0. mas se não der certo escrevi uma solução possível.
vc pode usar um if
por exemplo
valorX //o número que você está usando
formatopositivo // DecimalFormat(##.##)
formatonegativo // DecimalFormat(-##.##)
if(valorX >= 0) {
formatopositivo.format(valorX);
} else {
valorX = Math.abs(valorX); //pega o valor em módulo
formatonegativo.format(valorX);
}
isto serve?
de uma lida no http://java.sun.com/j2se/1.4.2/docs/api/java/text/DecimalFormat.html
pode ajudar, pelo que eu entendi (acabei de dar uma lida rápida) o “#” tem função diferente do “0”, o “0” engloba negativos também. Confere lá e testa.
[]'s