Conversion Integer / String

Résolu
ptitelili059 Messages postés 43 Date d'inscription jeudi 18 octobre 2007 Statut Membre Dernière intervention 9 juin 2010 - 1 févr. 2010 à 08:56
ptitelili059 Messages postés 43 Date d'inscription jeudi 18 octobre 2007 Statut Membre Dernière intervention 9 juin 2010 - 1 févr. 2010 à 09:29
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
1 févr. 2010 à 09:22
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
3
ptitelili059 Messages postés 43 Date d'inscription jeudi 18 octobre 2007 Statut Membre Dernière intervention 9 juin 2010
1 févr. 2010 à 08:59
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
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
1 févr. 2010 à 09:19
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
0
ptitelili059 Messages postés 43 Date d'inscription jeudi 18 octobre 2007 Statut Membre Dernière intervention 9 juin 2010
1 févr. 2010 à 09:29
oui effectivement le formatage fonctionne très bien !! merci

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