Os números de telefone são cadeias de caracteres de dígitos, não são números inteiros.
Considere por exemplo:
-
Expressar um número de telefone em uma base diferente o tornaria sem sentido
-
Adicionar ou multiplicar dois números de telefone, ou qualquer operação matemática em um número de telefone, não tem sentido. O resultado não é outro número de telefone (exceto por concidência)
-
Os números de telefone devem ser inseridos "no estado em que se encontram" em um dispositivo conectado.
-
Os números de telefone podem ter zeros à esquerda.
-
Manipulações de números de telefone, como adicionar um código de área, são operações de String.
Armazenar a versão string do número de telefone torna isso claro e inequívoco.
Histórico:Nos antigos sistemas de discagem codificados por pulso, o código para cada dígito em um número de telefone era enviado com o mesmo número de pulsos que o dígito (ou 10 pulsos para "0"). Pode ser por isso que ainda usamos dígitos para representar as partes de um número de telefone. Consulte http://en.wikipedia.org/wiki/Pulse_dialing