Conversion Integer / String

[Résolu]
Signaler
Messages postés
43
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2010
-
Messages postés
43
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2010
-
Bonjour

Voilà je récupère dans une variable le code d'un client qui est de la forme C00XXXXX.
Je voudrais pouvoir récupérer juste le numéro sans le "C". J'ai donc fait un substring de mon code client mais j'obtiens alors XXXXX sans les 2 zéro devant mais il me les faut absolument. Il faut absolument que je récupère ce code sous la forme 00XXXXX car il faut ensuite que j'incrémente ce numéro. Comment je peux faire ?

4 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Mais tu pourrais tout aussi bien utiliser les chaines de formatage :
Dim NClientStr as string = "C" & NumClient.ToString("0000000")


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
43
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2010

En fait voici mon code :
NumClient = dr_sql.GetValue(0).ToString.Substring(1)
NumClient = CStr(NumClient)

A ce moment là si je demande d'afficher mon NumClient j'ai bien la forme 00XXXXX

Ensuite je fais :
NumClient = NumClient + 1


Et là j'obtiens XXXXX
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Ta variable NumClient est de type Integer, je présume. Ce qui est logique puisque tu fais une incrémentation.

Dans ce cas tu n'as pas le choix, comme c'est un nombre, les 0 devant sont perdus. Il faudra donc reformater correctement ton n° de client dans une string lorsque tu en aura besoin.

Tu as poster dans la rubrique VB6, mais à la vue des méthodes utilisées tu es plutot en .Net, je pense.
En .Net tu peux faire ceci :

Dim NClientStr as string = "C" & NumClient.ToString.PadLeft("0",7)

Explication : PadLeft va te remplir la chaine à gauche avec autant de caractères "0" qu'il en faut pour que la chaine atteigne au moins la valeur minimum indiquée soit 7 caractères ici.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
43
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2010

oui effectivement le formatage fonctionne très bien !! merci

Et désolée de m'être trompée de catégorie :(