Pessoal boa tarde! O que pode estar acontecendo? Tanto no banco quanto na classe declarei uma coluna como varchar(32), só que quando mando gravar, aparece esta mensagem acima: java.lang.FormatNumberException for input String: “O03.8”. Já tentei mudar de registro na tabela, mas da a mesma mensagem. Se alguém puder me ajudar, agradeço.
Java.lang.FormatNumberException
7 Respostas
Ah, deixa explicar melhor: na classe a declaração que fiz dela foi a seguinte:
private String NOME_DA_COLUNA;
E é NumberFormatException (rs)
O computador acha que o algarismo 0 (zero) e a letra O são diferentes.
"O03.8" -> letra O, algarismo zero, 3, ponto, 8.
pelo ero apresentado parece que o formato que vc esta passando para o banco e incompativel com string da uma olhada se realmente está sendo enviada uma string para essa variavel ou pro banco espero ter ajudado
Não, mas de acordo com o manual que li tá certo declarar com varchar no banco e como String na classe.
Isso não está ocorrendo no SQL, e sim em alguma rotina de conversão de string para número que você tem no seu código.
E nessa linha está vindo um valor que é inválido para um número, provavelmente porque foi digitado por um usuário e não foi validado (o tal valor “O03.8” que apareceu na mensagem de erro).
se o campo q vc tem no banco e um varchar e se em sua classe os atributos deste campo são strings este valor “O03.8” deveria funcionar… agora se este valor pode ser apenas numero de ponto flutuante e vc declarou um Double, double… em um parametro que recebera este valor… e tenta a conversão deste valor para o double ou seja la oq for dara este pau… ou seja vc deve tar tentando converter o “O03.8” em double em algum lugar no seu codigo… isto nao tem nada haver com o banco e direto no seu codigo… analise os parametros que recebem este seu valor “O03.8” para ver se nenhum e um wraper de Double ou tenta converte-lo pra double… use o bom e velho debug que vc acha a raiz deste problema rapindinho…