Tipo para CPF

Olá pessoal

Qual o tipo usado para entrada de dados dos 11 digitos do CPF e 14 do CNPJ?

Sei que posso usar string, mas preferia um tipo próprio numérico para mais de 11 digitos.

No C uso long long int, qual seria no Java?

ps.: Já testei com long e não funcionou

Alguém já sofreu com isso ai?

tente com o tipo Long, ele é o maior tipo númerico de java quando c trada de números em ponto flutuante.

Olá sandeco,

O tipo long suporta sim :slight_smile: O máximo dele é 2^64 (18.446.744.073.709.551.616), que dá mais de 14 dígitos. Mas ainda assim, eu prefiro sempre usar String para armazenar CPF, já que CPF não é um “número”, é uma identificação de uma pessoa que, coincidentemente, é formada só de números. Na minha filosofia, são coisas diferentes, mas isso aí é com você :stuck_out_tongue:

Até mais,

Aew galera

Estou tentando o seguinte código

[code]public class TestLong {

public static void main(String args[]){
	
	long cpf;
	
	cpf = 11111111111;
			
	System.out.println(""+cpf);
		
}

}[/code]

e dá erro na insersão dos 11 digitos … não vai nem a pau

Poxa burrice a minha heim

revisei o código com o

cpf = Long.parseLong(“11111111111”);

Deu certo

valeu gente

Olá sandeco,

Não precisa usar o Long.parseLong (mas também funciona, você percebeu :)). Quando você coloca um número constante, em Java, o compilador entende que é int. Esse número é muito grande pra ser um int, por isso que ele reclama. Se você fizer:

long cpf; cpf = 11111111111L;

Aí funciona! Perceba o L no final, pra converter a constante inteira para long.

Até mais,

[quote=“CD1”]Olá sandeco,

O tipo long suporta sim :slight_smile: O máximo dele é 2^64 (18.446.744.073.709.551.616), que dá mais de 14 dígitos. Mas ainda assim, eu prefiro sempre usar String para armazenar CPF, já que CPF não é um “número”, é uma identificação de uma pessoa que, coincidentemente, é formada só de números. Na minha filosofia, são coisas diferentes, mas isso aí é com você :stuck_out_tongue:

Até mais,[/quote]

Concordo!!!
Usa como string mesmo.

Imagina se vc precisar mostrar em alguns pontos (na tua view, algum relatorio, etc), esse teu cpf formatado…
Acho que fica mais facil formatar se for string.

Desculpem discordar, mas de CPF não fosse número, não passaria por validação numericamente calculada (dígitos verificadores). CPF não é alias, como é um domain name, que é interpretado e “convertido” em um número IP. CPF é número, sim.

E guardá-lo como String só por preguiça de reformatar a máscara me dá até urticária de tanta base de dados amadora que eu já vi por aí, que, por preguiça, define todos os campos como VAR.

Sem pretensão de ofender. Apenas forçando a pensar.

[quote=fernando.rego]Desculpem discordar, mas de CPF não fosse número, não passaria por validação numericamente calculada (dígitos verificadores). CPF não é alias, como é um domain name, que é interpretado e “convertido” em um número IP. CPF é número, sim.

E guardá-lo como String só por preguiça de reformatar a máscara me dá até urticária de tanta base de dados amadora que eu já vi por aí, que, por preguiça, define todos os campos como VAR.

Sem pretensão de ofender. Apenas forçando a pensar.[/quote]

Você soma CPF ? Multiplica CPF ? Já viu alguém totalizar CPF ? Muito provavelmente não.
CPF não é número porque CPF não representa quantidade. É uma sequencia de caracteres como qualquer outra, mas que deve obedecer a algumas regras específicas. A necessidade de se calcular um dígito verificador reforça ainda mais essa idéia, porque para fazer esse cálculo você precisa acessar cada caractere individualmente.

1 curtida