Tipo de dados

8 respostas
M

Que comando usar para descobrir se o tipo de dado de um JTextField é double
ou qualquer outro?

ate +++++

8 Respostas

T

O tipo de dados de um JTextField é sempre String :stuck_out_tongue:

De qualquer maneira, se você quiser saber se a string representa um dado numérico, você pode tentar ver se Double.parseDouble (ou DecimalFormat.parse, com setLenient(false))
lança uma exceção.

B

Poderia tentar o Double.parseDouble() e passar a String pra ele. Se conseguir transformar, é um double.

M

thingol:
O tipo de dados de um JTextField é sempre String :stuck_out_tongue:

De qualquer maneira, se você quiser saber se a string representa um dado numérico, você pode tentar ver se Double.parseDouble (ou DecimalFormat.parse, com setLenient(false))
lança uma exceção.

Isso mesmo que eu queria dizer eu so nao soube explicar

Mas o unico jeito e lançando uma exceção ?
minha intenção e enviar uma msg para o usuário avisando que naquela caixa de texto
só é permitido números…

T

Não é preciso mandar a exceção para o cliente. Você pode encapsular o processo em um método, mais ou menos assim:

public static boolean ehNumerico (final String str) {
    try { Double.parseDouble (str); } catch (NumberFormatException ex) { return false; }
    return true;
}
B

Outra opção é fazer um regex para cada um dos tipo de dados, e usar um string.matches("^regex$"), que retorna true caso aquela string foi reconhecida. Dá um pouco mais de trabalho, melhor procurar um pronto.

V

qualquer dados digitado em um JTextField vc pode ter certeza que vai ser String. Agora se vc precisa que os dados digitados em umJTextField seja de outro tipo, como: int, double, char, etc, etc, vc terá que convertê-lo chamando o método específico e passando como parâmetro para o méto os dados digitados no JTextField. Espero ter ajudado.

M

vlw a todos !!!

Leandro_Vecchi

Sempre vai ser String, mas é só você converter.
Ex: Integer.parseInt(seuTextField.getText()); Double.parseDouble(seuTextField.getText()); new BigDecimal(seuTextField.getText());

mais ou menos assim! =D

Criado 16 de dezembro de 2008
Ultima resposta 17 de dez. de 2008
Respostas 8
Participantes 5