Criar uma Função para Validar campo Long [Resolvido]
10 respostas
D
douglasmanteiga
Bom dia pessoal alguem poderia me ajudar a criar uma função para validar um campo Long exemplo:
Preciso recebe uma string e depois converter para Long… se na String conter texto preciso que dê uma mensagem de erro
agora se a string conter somente números preciso que converta para Long…
Comecei assim:
Baixe o jar commons-lang da apache.
Coloque-o no classpath do teu projeto.
Chame o método (função é algo da programação estruturada) NumberUtils.isNumber e passe a String em questão como argumento, obtenha o resultado, que é um boolean em uma variável específica.
Se true, significa que é um número (possui, entre seus caracteres, os dígitos de 0 a 9 ou ponto). Se false, possui qualquer coisa além de ponto ou dígitos de 0 a 9.
Pronto!
D
douglasmanteiga
drsmachado:
Baixe o jar commons-lang da apache.
Coloque-o no classpath do teu projeto.
Chame o método (função é algo da programação estruturada) NumberUtils.isNumber e passe a String em questão como argumento, obtenha o resultado, que é um boolean em uma variável específica.
Se true, significa que é um número (possui, entre seus caracteres, os dígitos de 0 a 9 ou ponto). Se false, possui qualquer coisa além de ponto ou dígitos de 0 a 9.
Pronto!
Obrigado pela resposta… mas eu gostaria de aprender a criar meu próprio método…
E
entanglement
A maneira mais rápida (é mais rápida que usar uma expressão regular, por exemplo!) de determinar se algo pode ser convertido para Long é tentar converter para Long. Se tomar uma exceção, então não dá para converter e ponto final. Algo como:
A maneira mais rápida (é mais rápida que usar uma expressão regular, por exemplo!) de determinar se algo pode ser convertido para Long é tentar converter para Long. Se tomar uma exceção, então não dá para converter e ponto final. Algo como:
Então ai vc está retornando true ou false… eu to precisando retornar o Long convertido… ou a mensagem de erro… abraço!
R
Rodrigo_Sasaki
Use só o parseLong então, ué… é exatamente isso que ele faz.
D
douglasmanteiga
Use só o parseLong então, ué… é exatamente isso que ele faz.
Então mas eu quero colocar a minha mensagem… Ex: Não foi possível converter, digite somente números!
D
drsmachado
Use só o parseLong então, ué… é exatamente isso que ele faz.
Então mas eu quero colocar a minha mensagem… Ex: Não foi possível converter, digite somente números!
Ok, já que quer inventar a tua própria roda…
publicLongconverteParaLong(Stringstr)throwsException{
try{
returnLong.parseLong(str);}catch(Exceptione){
thrownewException("Eu quis reinventar a roda e não usar algo que está pronto, ocorre que houve problema na conversão e por isto você recebeu esta mensagem");}
}
D
douglasmanteiga
Use só o parseLong então, ué… é exatamente isso que ele faz.
Então mas eu quero colocar a minha mensagem… Ex: Não foi possível converter, digite somente números!
Ok, já que quer inventar a tua própria roda…
public Long converteParaLong(String str) throws Exception{
try{
return Long.parseLong(str);
}catch(Exception e){
throw new Exception("Eu quis reinventar a roda e não usar algo que está pronto, ocorre que houve problema na conversão e por isto você recebeu esta mensagem");
}
}
kkkkkkkkkkkkkkkkkkkkkkk poxa valeu era isso mesmo que estava precisando… obrigado
R
Rodrigo_Sasaki
Use só o parseLong então, ué… é exatamente isso que ele faz.
Então mas eu quero colocar a minha mensagem… Ex: Não foi possível converter, digite somente números!
Só tome cuidado com a sua mensagem de erro: digite somente números, vai depender da sua definição de número.
O método parseLong não consegue converter uma String com valor “1.1” por exemplo.
D
douglasmanteiga
Use só o parseLong então, ué… é exatamente isso que ele faz.
Então mas eu quero colocar a minha mensagem… Ex: Não foi possível converter, digite somente números!
Ok, já que quer inventar a tua própria roda…
public Long converteParaLong(String str) throws Exception{
try{
return Long.parseLong(str);
}catch(Exception e){
throw new Exception("Eu quis reinventar a roda e não usar algo que está pronto, ocorre que houve problema na conversão e por isto você recebeu esta mensagem");
}
}
kkkkkkkkkkkkkkkkkkkkkkk poxa valeu era isso mesmo que estava precisando… obrigado