Chaîne

Résolu
cs_guigui28 Messages postés 28 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 17 octobre 2006 - 5 mai 2006 à 22:00
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 - 6 mai 2006 à 03:09
Bonjour,
Je cherche une fonction pour supprimer les zéros dans une chaîne de chiffres, seulement, dès qu'on rencontre un chiffre autre que le zéro je voudrais que la fonction s'arrête et renvoie la donnée.
Ex :
0000123456789 => Renvoyer 123456789
0000000035800 => Renvoyer 35800
Qqn à une idée ??

5 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
5 mai 2006 à 22:10
Salut,
Voici exactement ce dont tu as besoin.
http://www.codyx.org/snippet_fonction-trim-permettant-choisir-texte-supprimer_103.aspx
Regarde pour vb6 la fonction LTrimStr

Exemple:

MsgBox LTrimStr("0000123456789", "0")
MsgBox LTrimStr("0000000035800", "0")
3
Utilisateur anonyme
5 mai 2006 à 22:28
Salut,

Sinon, si tes chaine sont que des nombres valide pour une conversion integer. Tu peux tout simplement les convertir en integer et re en string.

MsgBox CStr(Int("0000123456789"))

Kenji

<HR width="100%" SIZE=2>


Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
5 mai 2006 à 22:37
Bonsoir,

Je n'ai pas d'exemple sous le coude.
Mais ça correspond a faire une boucle(Do While),
lecture de la chaine, quand que le caractère = 0,
est trouvé, Chaine=Len(Chaine, Left(Chaine, -1)

jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
5 mai 2006 à 23:10
Re-bonsoir,

Je me suis vraiment égaré sur ce coup.
La solution, la plus simple, est bien de 231472 Charles Racaud
à condition que la chaine recherchée soit toujours du type
"0000000035800"Si chaine ""0000000035800,02", new chaine "35800"

'CStr: Renvoie une expression qui a été convertie en un Variant de sous-type String.
Dim MyDouble, MyString
MyDouble = 437,324 ' MyDouble est un Double.
MyString =
 CStr( 
MyDouble
)
' MyString contient "437,324".

mais
Int : Renvoie la partie entière d'un nombre.
MyNumber =
Int(
99.8
)
' Renvoie 99.

jean-marc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
6 mai 2006 à 03:09
Hello,
et bien:
MsgBox CStr(Val("0000123456,789"))

Mais il ne faut pas de lettre....

Enfin la fonction à utiliser c'est bien LTrimStr("0000123456789", "0") et non pas toutes ces sortes de gadgets. De plus c'est la plus rapide (pas besoin de conversions multiples), appel à une seule fonction.


Warning
Admin Codes-Sources.com
http://www.decompiler-vb.net/
0
Rejoignez-nous