Eu tenho este metodo para inserir um cliente no banco de dados, todavia, o CPF esta sendo pego de um campo de texto da biblioteca Swing e esta dando erro, como eu posso arrumar ou transformar esse campo em inteiro para poder envia-lo ao banco de dados?
O erro pode estar sendo ocasionado por causa da mascara colocada no txtField?
Primeiro CRUD que tento fazer, desculpe se alguma pergunta soar idiota.
staroski
CPF não pode ser campo inteiro.
Um CPF pode começar com zero e tipos númericos não tem zeros à esquerda.
A
AndreLuiz99
Eu tentei converter para um double mas também deu um erro, nesse caso eu uso o Tipo String mesmo tanto no banco quanto no Java, ou teria algum outro jeito de fazer a conversão?
staroski
Pôxa, double também é um tipo numérico.
Um CPF não é um campo numérico, pois ele pode começar com zero.
Um CPF é String.
Solucao aceita
hugokotsubo
Não converta
Como já disseram, CPF não é um número. Você não faz operações matemáticas com o CPF, ele não representa uma quantidade, nem nada disso.
O CPF é uma informação descritiva: é um identificador que por acaso usa dígitos. Mas ele não é um número, e não deve ser tratado como tal.
Um dos motivos principais (não é o único) é que ele pode começar com zero. Mas números não são assim, então se você tiver uma string como “012345678” e converter para número (seja int, double, ou o que for), ele se transforma em 12345678. E remover este zero da frente pode ter consequências graves no mundo real.
Enfim, não converta, deixe-o como String no Java (e no banco, como VARCHAR). Leia mais sobre o assunto aqui.