Conversão de String

5 respostas
R

Olá pessoal…

Alguem pode me dizer como faço para validar uma variavel String verificando se seu formato é double?

Pode até ser gerando uma excessão caso ela não se converta…

Grato,

Rodrigo.

5 Respostas

J

Tenta converter a tua string (claro, coloca dentro de um try) se der erro é por que não é um número.

Vê se isso ajuda:

Double.valueOf(tuaString);
C

ou tambem…

Double.parseDouble(suaString); // esse método tem que ser checado com uma ParseException.

R

Oi pessoal.. .fiz da seguinte forma:

if (tipoPesquisa == 1){ //pesquisa por valores (0,00)
       
       try {          
            
            //   Double.valueOf(conteudoPesquisa);  //opção 1
          double valida = Double.parseDouble(conteudoPesquisa); //opção 2
                
       } 
       catch (Exception e) { 
                  
            errors.add("conteudoPesquisa",new ActionError("error.conteudoPesquisa.numeric"));
            
       }
   }

Porem, se eu digitar 63 ele funciona corretamente... mas se eu digitar 63,25 ele causa exceção de forma que não considera como double e a idéia seria valida valores em moeda (R$ 63,25)...

Oque posso fazer??

C

Sim, vai causar sim… pois os doubles sao número de ponto flutuante…

no caso pra dar certo tu teria que digitar… 65.26, para resolver isso, da um replaseAll(’,’,’.’); e tentar converter que vai dar certo, ok ?

J

Você também pode tentar algo:

String value = "65,23";
    value = value.replace(',', '.'); //Trocar a "," pelo "."
    double y = Double.parseDouble(value);
Criado 31 de agosto de 2006
Ultima resposta 6 de set. de 2006
Respostas 5
Participantes 3