Accueil du site > Les articles > Formatage d’une variable numérique dans une chaîne de caractère sous (...)
Version à imprimer Enregistrer au format PDF

Formatage d’une variable numérique dans une chaîne de caractère sous Adélia.

mardi 18 mai 2004, par David Malle, Grégory Jarrige Visites  1877 |Popularité : 37% 

Il vous est peut être arrivé d’avoir besoin de récupérer un nombre dans une chaîne. Si vous avez rencontré ce problème, vous savez sans doute que la copie d’une variable numérique dans une variable alphabétique vous fait perdre la virgule. Selon le cas que vous avez à traiter, cela peut poser problème.


Exemple : j’ai besoin de transférer dans une variable alpha de 10 caractères une variable numérique de 10 (dont 2 décimales). Si la variable numérique contient 1228,35, la variable alphabétique recevra 0000122835

Le cas de figure qui m’a poussé à écrire la règle de gestion ci-dessous est le suivant : j’ai une zone intitulée "conditionnement" qui est une variable numérique de 7 positions (dont 3 décimales). Je sais qu’en règle générale je n’aurai que rarement les 3 décimales renseignées (surtout la 3ème), et que cette variable atteindra rarement la valeur de 1000. J’ai besoin d’imprimer sur un état une formule qui est la concaténation de ce conditionnement avec d’autres variables (dont le code unité de conditionnement. Par exemple : une formule imprimée pourrait être "38,5KG" pour 38,5 kilogrammes, ou encore "15PA(30UN)" pour 15 paquets de 30 unités. J’ai donc besoin de "nettoyer" mes variables numériques contenant les conditionnements de tout caractère parasite (suppression des zéros à droite et à gauche, suppression de la virgule si pas de décimales, etc...).

J’ai écrit la règle de gestion FORMAT_EDIT, dont vous trouverez le source ci-dessous. Je pense que vous pourrez facilement l’adapter à vos besoins.

La macro & FORMAT_EDIT_JUSTIFIE est un peu plus compliquée. Elle effectue les mêmes transformations mais permet de :

- cadrer les résultats,
- choisir un caractère de remplacement pour le zéro de début,
- choisir le caractère de séparation décimale

Documents joints