Como e q faco?

4 respostas
C

Pessoal, estou com uma duvida!!
O usuario vai digitar um numero em uma String, e eu quero saber c esse numero e inteiro ou real, como e q eu faco???

Abracao e te +

4 Respostas

J

Blz?

Então, procurei algum método que já retornasse se é inteiro ou não, mas não encontrei (Não procurei muito)… ai criei um…

/**
   * Retorna true se a String passada como parametro representar um valor inteiro
   * e false caso a seja um valor com casas decimais
   * @param s String String com o valor numérico
   * @return boolean Retorna true se a String passada como parametro representar um valor inteiro
   * e false caso a seja um valor com casas decimais
   */
  public static boolean isInt (String s) {
    double d = Double.parseDouble(s);
    int i = (int)d;
    return d == i;
  }

O método é bem simples, ele converte a String para double, depois faz um cast de double para int e for fim, verifica se os dois são iguais, se for, é porque é um inteiro, ou seja, não houve perda de casas decimais, e caso contrário é false (numero com casas decimais).

Se alguém souber algum método que já faz isso, fala ai…

R

axo que o ideal é usar o bloco Try…Catch

J

Nem precisa por um [b]try/catch[b], só colocar um throws NumberFormatException no método, pois o método Double.parseDouble já sobe a exceção e força que o usar a colocar em um try/catch… :wink:

C

O kra valeu mesmo!!

Abracao e te +

Criado 23 de junho de 2004
Ultima resposta 25 de jun. de 2004
Respostas 4
Participantes 3