Bonjour
Je me demandais si le type de variable pour un numéro de tel était plutot du type int ou string
Merci
bne journée
Bonjour
Je me demandais si le type de variable pour un numéro de tel était plutot du type int ou string
Merci
bne journée
Tout dépend de si tu veux laisser la mise en forme dedans.
Par exemple :
01 23 45 67 89
0123456789
01.23.45.67.89
(+33) 123 456 789
33 1 23 45 67 89
33123456789
(33)1.23.45.67.89
Si tu veux pouvoir faire des recherches, alors il veut mieux gérer plusieurs int, comme le fait Outlook :
- Indicatif régional (33 pour la france)
- Numéro de téléphone 123456789 (sans le 0)
- Suffixe (pour certaines zones, la france n'est pas concernée)
Et ensuite, à toi, selon le pays de l'utilisateur, d'afficher le numéro de façon lisible, avec ou sans indicatif régional.
Merci,
C'est bien ce que je pensais
Donc par exemple si tu as des numéros de tel de type 0240324569 tu déclare comme int?
Si tu as des numéros de tel a rentrer de type 02 40.... ou 02.40... tu déclares comme string?
Je viens d'avoir un doute...
Il faudrait vérifier qu'il est impossible que le premier chiffre d'un numéro de téléphone (hors indicatif) soit 0.
En effet, 0123456789 sera stocké dans un int comme 123456789... et va savoir combien il y avait de 0 au départ...
Ceci dit, je pense qu'il est impossible que le premier chiffre soit numéro.
(le 0 en france, c'est l'indicatif local, le numéro est en réalité sur 9 chiffres, et le 0 peut être remplacé par 33 si on veut un numéro au format internationnal)
Ah...
http://fr.wikipedia.org/wiki/Num%C3%...A9l%C3%A9phone
Laisse béton pour le INT
Un numéro de téléphone peut être composé de lettres
Donc tu dois virer tous les caractères autres que chiffres et lettres. Mais stocker dans un string.
A la limite, tu peux passer par un INT, mais à ce moment il faudra convertir les lettres en chiffres (en suivant le cadran téléphonique), mais il y aura perte d'information.
Tu peut utiliser un string comme ça tu stock des numéros du style : 0212457896
Pas vraiment; dans un int, tu ne pourras jamais stocker le zero initial.
Bien sur, tu peux stocker le prefixe international, mais cela réclame une analyse complexe en raison des prefixes à 1,2, et 3 chiffres pour certains pays (exemple Côte d'Ivoire).
Si tu stockes en int, cela suppose de traiter ainsi :
- premier chiffre = 1 ? si oui, prefixe à un chiffre
- deux premier chiffres = 25 ? si oui, prefixe à trois chiffres.
etc .....
Bref, mieux vaut clairement stocker en string, sinon il faut connaitre et appliquer les règles UIT de composition de numéro qui peuvent en plus changer.
D'autant que dans le lien que j'ai indiqué par la suite, il est stipulé qu'un numéro de téléphone peut contenir non pas seulement des chiffres, mais aussi des lettres.
Biensur, on peut convertir les lettres en chiffre en suivant le clavier du téléphone, mais on perds l'information des lettres.
Donc en effet, il faut stocker des string, qu'on prendra soin de nettoyer avant de les enregistrer.
Ce point là me semble être devenu assez théorique avec la croisssance du nombre de numéros ces trente dernières années, tous pays confondus (je suppose que tu penses à des choses comme SVP-11-11 en France par exemple).
En tout cas dans l'article que tu mentionnes aucun format à lettre n'est mentionné pour aucun pays. (recherche sur 'LL' dans la page).
Regarde la définition pour le Royaume-Uni.
C'est fouilli, mais visiblement, il y a toujours des lettres utilisées.
Aussi, j'ai déjà vu à plusieurs reprises dans des films/documentaires à la télévision des publicités américaines avec des lettres dans le numéro de téléphone.
Genre :
08 SAV DARTY
C'est plus facile à retenir que 08 728 32789
(c'est un numéro de mon invention, pour illustration)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager