Messagerie


Forcer la longueur d'une chaine (STR$) [Résolu]

Poum
jeudi 2 mars 2017 à 08:19
Est-il possible de forcer la longueur d'une chaine si cette dernière provient d'une valeur numérique ?

Je m'explique.
On part d'une valeur numérique : 0, 1, 2, 3, ... 12, 13, ...124...
On la transforme en chaine de cratère "0", "1", "2", "3", ..."12", "13", ..."124"...

Jusqu'ici, pas de souci : Chaine = STR$(Valeur)

Or, je souhaite que la chaine ait toujours la même longueur. Disons 3
Ainsi j'aimerais obtenir :

"001", "002", "003" ... "012", "013", ... "124"...

J'ai regardé mais ne vois pas de paramètre chez STR$.
Est-ce possible ?
toutoune95800
jeudi 2 mars 2017 à 09:40
Bonjour,

Tu peux peut-être utilisé LEFT. Il extrait un nombre de caractères sur la partie gauche de ta chaîne. Donc, dans mon exemple, pour un compteur dont la valeur serait 123456, la chaîne modifiable sera égale à 123.

Chaîne=Left$( Str$( value( "Compteur" ) ), 3 )
890 messages

jeudi 2 mars 2017 à 09:44
Hello,
C'est ta valeur numérique qu'il faut forcer : utilise un compteur avec 3 chiffres et des 0 pour remplir. et tu auras toujours "000", 010", "099", "101" etc...
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 2 mars 2017 à 10:06
Il me semble que même si tu affiche un compteur sur plusieurs chiffres la valeur ne change pas «003» donnera toujours 3.

La solution proposée par Stéphane17620 est incomplète. Il faut ajouter plusieurs 0 pour qu'il y ai toujours au moins 3 chiffres, sinon ça ne marchera pas.
Left$( "00" + Str$( value( "Compteur" ) ), 3 )
890 messages

jeudi 2 mars 2017 à 10:13
sisi çà fonctionne ;)

EDIT : seul "fixed number of digit" est nécessaire. ce que j'ai coché en dessous en l'est pas... j'ai cherché... j'ai speedé... ;)
Donc tu mets 999 comme valeur maximum à ton compteur, tu mets 3 à "fixed number of digit" et c'est fini.
Pièces jointes
denisstephane
jeudi 2 mars 2017 à 10:14
Si,le compteur a une option pour afficher des zero a gauche de la valeur,il faut cocher "nombre fixe de chiffres" et lui donner une valeur,donc suivant la valeur,il y aura plus ou moins de zero devant.

EDIT:trop tard,la réponse est au-dessus.
Poum
jeudi 2 mars 2017 à 10:22
J'avoue que je n'avais pas envie de faire intervenir d'autres objets.
Et oui, la solution de Stéphane17620 me parait sympathique.

Il suffit d'ajouter d'office X "0" puis ne prendre que la partie droite.



Donc : Chaine = Right$( "000"+ STR$(Valeur), 3 )


Super. Merci @vous
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 22 visiteurs au total

Derniers messages