Conversion Integer / String [Résolu]

Messages postés
43
Date d'inscription
jeudi 18 octobre 2007
Dernière intervention
9 juin 2010
- - Dernière réponse : ptitelili059
Messages postés
43
Date d'inscription
jeudi 18 octobre 2007
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 ?
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de cs_casy
Messages postés
43
Date d'inscription
jeudi 18 octobre 2007
Dernière intervention
9 juin 2010
0
Merci
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
Commenter la réponse de ptitelili059
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
0
Merci
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
Commenter la réponse de cs_casy
Messages postés
43
Date d'inscription
jeudi 18 octobre 2007
Dernière intervention
9 juin 2010
0
Merci
oui effectivement le formatage fonctionne très bien !! merci

Et désolée de m'être trompée de catégorie :(
Commenter la réponse de ptitelili059

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.