Forums - Adopte un VTP - FORMAT DES NOMBRES

Ce sujet a 8 réponses, 3 participants et a été mis à jour par   Stephane VAILLANT, il y a 2 semaines et 6 jours. This post has been viewed 117 times

  • Stephane VAILLANT  | Posté le 6 mai 2020 à 12 h 09 min

    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

    Stephane VAILLANT  | Posté le 6 mai 2020 à 17 h 52 min

    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

    Dan-Dylan LAVICTOIRE  | Posté le 7 mai 2020 à 13 h 58 min

    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.

    Stephane VAILLANT  | Posté le 7 mai 2020 à 16 h 13 min

    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

    Yannick Audéoud  | Posté le 9 mai 2020 à 10 h 47 min

    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 :
    graph

    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 :
    graph

    En jeu, on a donc bien :
    graph

    Vous pouvez aussi extraire ce formatage de votre nombre directement dans un bloc Variables si c’est plus lisible pour vous :
    graph

    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

    Stephane VAILLANT  | Posté le 12 mai 2020 à 11 h 50 min

    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

    Stephane VAILLANT  | Posté le 13 mai 2020 à 21 h 08 min

    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
    😉

    Yannick Audéoud  | Posté le 14 mai 2020 à 9 h 20 min

    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 ».

    Stephane VAILLANT  | Posté le 14 mai 2020 à 10 h 17 min

    Bonjur Yannick

    Excellent vous avez réponse à tout 😀
    Un grand merci 😉
    Stéph@ne
    😉