PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → complete() par la gauche !?
complete() par la gauche !?
Débuté par ronando82, 18 jan. 2005 12:13 - 10 réponses
Posté le 18 janvier 2005 - 12:13
J'ai un montant :

exemple : 3000,52 euros

Je veux que la taille total de l'enregistrement soit de 16 caractères mais que le montant soit cadré a droite :
0000000003000,52

Ya t'il une fonction qui permet de faire ca ? car la g dév un ptit bout de code mais bon ya peut etre un moyen plus simple et plus sur.

Merci
Posté le 18 janvier 2005 - 12:54
J'ai été confronté au même problème que toi et je n'ai pas trouvé de
fonction adaptée, pour l'instant ;)
Je me débrouillé de cette manière :
montant est une chaîne
montant=Droite("0000000000000000"+montant,16)

Ainsi on a toujours une chaine de 16 caractères complétée par des zéros
à gauche.

Ronan a écrit :
J'ai un montant :

exemple : 3000,52 euros

Je veux que la taille total de l'enregistrement soit de 16 caractères mais que le montant soit cadré a droite :
0000000003000,52

Ya t'il une fonction qui permet de faire ca ? car la g dév un ptit bout de code mais bon ya peut etre un moyen plus simple et plus sur.

Merci
Posté le 18 janvier 2005 - 12:58
Oui tu peux utiliser "NumeriqueVersChaine" avec les paramètres qui vont bien.
Posté le 18 janvier 2005 - 12:59
NumeriqueVersChaine() permet de convertir un nombre en chaine avec des zéros
à gauche et plein d'autres options.

PS: il faudrait regarder un peu dans l'aide avant de se lancer dans des
bouts de codes qui existent deja.


"Ronan" <ronando82@hotmail.com> a écrit dans le message de
news:41ecd6e4@news.pcsoft.fr...


J'ai un montant :

exemple : 3000,52 euros

Je veux que la taille total de l'enregistrement soit de 16 caractères mais

que le montant soit cadré a droite :
0000000003000,52

Ya t'il une fonction qui permet de faire ca ? car la g dév un ptit bout de

code mais bon ya peut etre un moyen plus simple et plus sur.

Merci
Posté le 18 janvier 2005 - 13:01
Regarde la fonction Numeriqueverschaine dans l'aide :

NumériqueVersChaîne(12345.5, "010.2f") // Renvoie "0012345.50"
Posté le 18 janvier 2005 - 13:03
numériqueverschaine() et sont assistant ?

JCP


"Ronan" <ronando82@hotmail.com> a écrit dans le message de news:
41ecd6e4@news.pcsoft.fr...


J'ai un montant :

exemple : 3000,52 euros

Je veux que la taille total de l'enregistrement soit de 16 caractères mais que
le montant soit cadré a droite :
0000000003000,52

Ya t'il une fonction qui permet de faire ca ? car la g dév un ptit bout de
code mais bon ya peut etre un moyen plus simple et plus sur.

Merci
Posté le 18 janvier 2005 - 15:27
salut !

On 18-Jan-2005, "Ronan" <ronando82@hotmail.com> wrote:

la fonction numeriqueverschaine me convertit mon nombre en chaine et ce
n'est pas ce que je veux. dc je vais opter pr cette solution :

montant=Droite("0000000000000000"+montant,16)


euh ... je ne veux pas paraître sceptique ... mais si montant est un
numérique, au mieux, montant restera montant (sans leading zeroes) , au pire
tu auras une erreur ...
et si montant est une chaine ... ben ... tu auras une chaine !
Alors, franchement, je ne vois pas la différence entre droite() et
numériqueverschaine() ...


Mais, je crois qu'en fait tu veux résoudre un problème d'affichage...
Si c'est le cas, alors utilise un champ numérique avec un masque de saisie
approprié, par exemple "0000000000000009" (si je me souviens bien ... si ce
n'est pas correct, vérifie dans l'aide sous masque de saisie)

Tiens nous au courant ...

bien à toi !

--
Marcel Berman
c/o Managing Business SPRL
Allée du Petit Paris, 11
B - 1410 - Waterloo
Tel : +32 2 351.60.64
Fax : +32 2 351.45.78
Gsm : +32 475.799.477
Posté le 18 janvier 2005 - 15:59
la fonction numeriqueverschaine me convertit mon nombre en chaine et ce n'est pas ce que je veux. dc je vais opter pr cette solution :

montant=Droite("0000000000000000"+montant,16)
Posté le 18 janvier 2005 - 16:18
que croit-tu que la fonction Droite() que renvoie t-elle ?

JCP ;o)))

"Ronan" <ronando82@hotmail.com> a écrit dans le message de news:
41ed0bc8@news.pcsoft.fr...



la fonction numeriqueverschaine me convertit mon nombre en chaine et ce n'est
pas ce que je veux. dc je vais opter pr cette solution :

montant=Droite("0000000000000000"+montant,16)
Posté le 18 janvier 2005 - 16:56
quelle que soit la méthode, tu te retrouveras avec une chaîne...
je te conseille d'utiliser la fonction NumériqueVersChaîne, que je ne
savais pas bien exploiter visiblement :)

Ronan a écrit :
la fonction numeriqueverschaine me convertit mon nombre en chaine et ce n'est pas ce que je veux. dc je vais opter pr cette solution :

montant=Droite("0000000000000000"+montant,16)
Posté le 18 janvier 2005 - 17:23
Oui, numeriqueVersChaine, c'est le mieux !

Exemple : pour avoir "0012", on fait NumeriqueVersChaine(12, %04d)

Gromit.


"Hervé" <h.taniou@free.fr> a écrit dans le message de news:
41ed1ac3$1@news.pcsoft.fr...

quelle que soit la méthode, tu te retrouveras avec une chaîne...
je te conseille d'utiliser la fonction NumériqueVersChaîne, que je ne
savais pas bien exploiter visiblement :)

Ronan a écrit :
la fonction numeriqueverschaine me convertit mon nombre en chaine et ce
n'est pas ce que je veux. dc je vais opter pr cette solution :

montant=Droite("0000000000000000"+montant,16)