Forums - Adopte un VTP - FORMAT DES NOMBRES
Bonjour
Je voudrai que le nombre d’une variable apparaisse avec un espace ou un point pour séparer les milliers
mais ne comporte pas de décimale
Est ce possible ?
Exemple 42.000
Actuellement il apparait de la sorte
42000
Comment faire ?
Merci de votre aide
Stéph@ne
Bonjour
En me rendant sur le forum je vois que le sujet que j’ai ouvert comporte une réponse mais je ne la vois pas est ce normal ?
SUJET
Bonjour Stéphane,
Pour imposer un certain format à votre valeur numérique, vous pouvez passer par la fonction format qui transformera votre Entier en Texte.
Celle-ci comporte deux paramètres :
– votre valeur numérique
– le format que vous désirez (un point implique des décimales, une virgule des milliers)
Dans votre cas, cela se passera ainsi : format(42000, « 0,000 »).
Attention : la fonction change le type de votre variable, nous vous conseillons d’en créer une autre qui sera la « traduction » textuelle de votre valeur numérique. Vous aurez ainsi votreValeur = 42000 et votreValeurText = « 42,000 ».
Enfin, si vous souhaitez remplacer la virgule par un espace, vous pouvez utiliser la fonction replace qui remplace un caractère ou une chaîne de caractères dans un texte et comporte trois paramètres :
– votre valeur textuelle initiale
– le caractère ou la chaîne de caractères que vous souhaitez remplacer
– le caractère ou la chaîne de caractères qui viendront à la place
Dans votre cas, cela se traduira ainsi : replace(votreValeurText, « , » , » » ) et transformera « 42,000 » en « 42 000 ».
En espérant vous avoir aidé.
Cordialement,
Dan-Dylan.
Bonjour DAN
Merci pour ce retour très scientifique.
Mais je ne suis pas sûr que cela fonctionne pour ma variable qui sert au calcul.
Si l’option de transformer en texte est la solution là par contre je ne suis pas sûr que cela me facilite la tâhce
et cela tente à rajouter des blocs, quand on essaye d’en réduire le nombre.
Ou alors je n’ai pas compris précisément votre solution !
😉
Stéph@ne
Bonjour,
La solution proposée par Dan est effectivement la bonne.
L’affichage par défaut d’un nombre tel que 42000 sera « 42000 » (sans point, sans virgule, sans espace).
Pour tout affichage différent de l’affichage par défaut, il faut donc nécessairement passer par des blocs ou des fonctions supplémentaires qui vous permettent d’exprimer ce que vous souhaitez.
Pour tous vos blocs, vous pouvez continuer à travailler avec vos nombres normalement.
Il s’agit d’appliquer les 2 fonctions proposées par Dan uniquement aux moments où vous souhaitez afficher votre nombre.
Par exemple, si vous souhaitez afficher votre nombre dans un bloc Message, cela donnerait le graphe suivant :
Dans le bloc Message, en utilisant les 2 fonctions citées plus haut (format
et replace
), on a donc dans le texte du bloc Message :
En jeu, on a donc bien :
Vous pouvez aussi extraire ce formatage de votre nombre directement dans un bloc Variables si c’est plus lisible pour vous :
Ici, il ne reste plus qu’à afficher la variable affichage
en écrivant « {affichage} » dans n’importe quel texte.
L’intérêt de la première méthode cependant est que si tout le formatage est écrit directement dans un texte, alors il sera automatiquement mis à jour lorsque la variable value
change. Très utile par exemple si votre nombre est affiché dans une Zone Cliquable en permanence visible à l’écran et que votre scénario continue d’évoluer en parallèle.
Bien cordialement,
Yannick
Merci
Certes cela n’est pas simple mais une fois la variable écrite c’est beaucoup mieux 🙂
Voilà ce que cela donne
NOMBRES
Merci pour votre aide très détaillée.
😀
Stéph@ne
Yannick
Je reviens sur ce cas
J’ai utilisé cette option ({replace(format(PERTETNAMOIS, « 0,000 »), », », ». »)} €)
Pour tricher un peu sur les chiffres én négatif j’ai mis des parenthèses avant et arrière.
Cela marche bien avec un nombre en milliers et négatif.
Par contre si mon résultat me donne un nombre en centaine ou dizaine voilà ce qui se produit
FAUX NOMBRE NÉGATIF EN CENTAINE ET DIZAINE
En fait c’est 29 € et 348€
Existe t il une solution ?
Stéph@ne
😉
Bonjour,
Dans « 0,000 », les « 0 » indiquent un chiffre obligatoire à l’affichage.
Pour rendre certains chiffres optionnels (affichés uniquement si le nombre est suffisamment grand), vous pouvez remplacer les « 0 » par des « # ».
Donc dans votre cas : « #,### » devrait faire l’affaire.
D’ailleurs, c’est le le même principe pour l’affichage des décimales dans le cas d’un nombre décimal :
Si vous indiquez « 0.### », les décimales ne s’afficheront que jusqu’à 3 décimales maximum, et uniquement si le nombre est bien décimal (pas entier). Si vous indiquez « 0.0## », seule la première décimale est obligatoire, donc le chiffre 2 par exemple sera écrit « 2.0 ».
Bonjur Yannick
Excellent vous avez réponse à tout 😀
Un grand merci 😉
Stéph@ne
😉