PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Retirer les zéros de devant
Retirer les zéros de devant
Débuté par sylvie.anthierens, 16 juin 2006 13:19 - 11 réponses
Posté le 16 juin 2006 - 13:19
Bonjour,

J'ai des nombres sous le format 0052, 0014, ...

Et je souhaite obtenir les nombres au format 52, 14, ... sans les zéros devant.

Mais, je ne vois pas comment faire.

Merci d'avance,

Sylvie
Posté le 16 juin 2006 - 13:37
Bonjour,
Par exemple en mettant une fonction VAL()
Posté le 16 juin 2006 - 13:41
NumériqueVersChaîne(123) // Renvoie "123"
NumériqueVersChaîne(1.23) // Renvoie "1.23"
NumériqueVersChaîne(12345.5, "+10.2f") // Renvoie " +12345.50"
NumériqueVersChaîne(12345.5, "-+10.2f") // Renvoie "+12345.50 "
NumériqueVersChaîne(12345.5, "+010.2f") // Renvoie "+012345.50"
NumériqueVersChaîne(12345.5, "010.2f") // Renvoie "0012345.50"

(aide Windev)
Posté le 16 juin 2006 - 13:55
Bonjour,
Après une recherche d'environ .0008333 jours ( 3 secondes, en fait ), j'ai trouvé ceci:
val():
Renvoie la valeur numérique d'une chaîne de caractères. Il est ainsi possible d'effectuer des calculs numériques sur des chaînes de caractères.
Val("143") // Renvoie 143
Val("1.67") // Renvoie 1,67
Val("ABC") // Renvoie 0
Val("3plus2") // Renvoie 3
Val("7,5") // Renvoie 7
Val("1D2") // Renvoie 100
Val("2.5e-2") // Renvoie 0.025

Frédéric.
Posté le 16 juin 2006 - 13:55
Lis bien le post !
NumériqueVersChaine ne resoud pas le problème !
Val oui.
A+
Posté le 16 juin 2006 - 14:45
de memoire
sur ton masque de saisie remplace les 9 par des 0


bon dev
Posté le 16 juin 2006 - 14:48
merci pour la remarque , mais il faut soigner la cause et non pas les effets (Freud) ...
Posté le 16 juin 2006 - 18:51
Sylvie

J'ai une petite DLL mise gratuitement à la disposition de la communauté,
qui fait cela vite et bien.

Voici le lien de téléchargement direct:
http://www.zapsolution.com/preview/trim.zip

Dans votre cas la fonction à utiliser serait :

sChaine est une chaine = "00012"
sChaine = LTRIM(sChaine, "0")
TRACE(sChaine)

Patrice Terrier - Consultant
Tel 04.76.98.16.73
pterrier@zapsolution.com
www.zapsolution.com
Posté le 16 juin 2006 - 18:53
Bonjour,

Merci pour vos solutions.


Sylvie.
Posté le 16 juin 2006 - 19:02
Salut,

Je crois qu'il ne faut pas tomber dans l'excès… et utiliser une DLL externe pour chaque traitement….

Ici, la fonction Val() donne le résultat souhaité.

Cet article paru sur un blog consacré à windev correspond bien à ce cas de ficgure.
http://elianlacroix.blogspot.com/2006/06/laide-cest-lorsque-lon-ne-sen-sort-pas_13.html

A+
Adrien

Gérez facilement vos photos numériques avec PICASA.
http://codewindev.com.free.fr/freewares.htm
Posté le 16 juin 2006 - 20:33
La DLL en question dispose d'autres fonctions, à savoir :

- LTRIM (n'importe quel caractère)
- RTRIM (n'importe quel caractère)
- TRIM (n'importe quel caractère)
- CRUNCH (n'importe quel caractère)
- WORD COUNT (compte les mots en tenant compte de la ponctuation)
- HTML TO TEXT (comme le nom l'indique)

Mais chacun est libre de l'utiliser ou non puisque de toute façon elle est gratuite.
Si l'aspect vitesse d'exécution n'a pas d'importance toutes les solutions proposées sont valables.
Posté le 05 janvier 2026 - 16:55
a écrit :
Bonjour,

J'ai des nombres sous le format 0052, 0014, ...

Et je souhaite obtenir les nombres au format 52, 14, ... sans les zéros devant.

Mais, je ne vois pas comment faire.

Merci d'avance,

Sylvie


Bonjour. Je complète même si la demande est ancienne pour ceux qui arriveraient ici.
Windev propose la fonction SansCaractèreGauche.

Utilisation dans ce cas = SansCaractèreGauche(sValeur, "0")