Afficher Zéro non significatif aprés la virgule

Bonjour,

jeedom 4.1.27

Cela fait un moment que je tourne autour du pot mais jeedom semble prendre le dessus

je cherche comment afficher les zéros lors qu’il son placés après la virgule …

un exemple qui fonctionne pas

Capture d’écran du 2021-11-05 17-39-10

un exemple qui fonctionne

Capture d’écran du 2021-11-05 17-41-31

Alors jeedom tu mange les Zeros ?

Salut,

J’ai cherché un bon moment une fois sans rien trouver et là avec ton test tu m’as donné une idée.

Je viens d’essayer avec un résultat positif :crazy_face::grin:

"sprintf("%.2f", 3)"

Au passage, bien vu
« Le nom zéro prend un s au pluriel au besoin, contrairement aux autres numéraux cardinaux »

Hello @olive
C’est pour avoir le poids des champions
Ok je sors :innocent:

En faite tu as donnée la solution :
'number_format(3.1, 2)'
fonctionne aussi, il faut en faite quoter l’expression. :wink:

2 « J'aime »

Voui :wink:.

Mais je connaissais pas number_format et j’avais pas envie de taper le truc compliqué qu’il avait mis dans cette fonction sur mon mobile.

bien vue l’encadrement avec les cotes

Bon maintenant comment on fait la même avec une commande info numérique ?

Meme problématique ici, mais dans un endroit différent de Jeedom.
Un petite moment que je cherche comment « forcer » l’affichage d’un zéro inutile ?

Exemple : ma sonde de température mesure 5°C.
Aux valeurs 4.9°C ou 5.1°C elle affiche bien ces valeurs, mais j’aimerai qu’à 5°C cela devienne un vrai 5.0°C (et non 5°C tout court…)

Est-ce dans formule de calcul que je peux gérer cela par exemple ?
(Je précise que je suis dans un virtuel qui ramène la commande depuis la « source »…)
J’ai bien mis un arrondi à 1, mais rien ne se passe.

Côté commandes, je n’ai pas de « step » pour indiquer un pas éventuel, juste des min/max et l’unité de dispo :

J’ai cherché un bon moment sans trouver…
Merci :pray:

Youpika !

Après une demi-journée d’acharnement en vain et un petit coup de tel (un peu trop tardif à mon goût), la solution a été trouvée.

Alors que je m’évertuais à essayer toutes les variantes possibles des fonctions Num_Format et Springf
données par @olive , @Bison , @Phpvarious, je voyais que la syntaxe était bonne mais que Jeedom faisait systématiquement disparaitre les zéros terminaux dans les décimales.

L’idée lumineuse de mon interlocuteur était de transformer la variable du virtuel en chaine de caractère (« Autre ») et non en numérique.

Ensuite il n’y a qu’à écrire dans le champ valeur :
'number_format(#value#, 1)'
en remplaçant #value# par la variable souhaitée (chez moi : #[TEST][NETATMO Sonde Principale[Température]#)

Du coup ça donne ça :

Merci pour vos pistes et merci à ma hotline :wink:

Salut,

Dommage que tu ai passé beaucoup de temps puisque ici c’est bien par là que Fabrice avait commencé (voir les captures) et on finissait le sujet en se demandant comment faire avec une info numérique justement… :hugs:

Du coup vous n’aviez pas d’astuce pour les infos numériques ?
La bonne pratique pour récupérer les zéro manquants reste toujours de passer en info > Autre ?

Nan, pas d’astuces. Le format numérique normalise les choses. Pas besoin de 0 en trop dans ce format, qu’il soit devant ou derrière un autre chiffre.

La seule stratégie c’est de lui indiquer que c’est une chaîne de caractère. Donc comme le format numérique n’est pas une chaîne de caractère… Enfin voilà il n’y a que info/autre pour faire ça.

Oui effectivement maintenant, en voyant les captures, je vois que j’aurai peut être pu ne pas perdre tout ce temps :person_facepalming:

Disons que lorsqu’on ne maitrise pas le sujet, il y a trop d’informations ou de detail dans chaque capture ou phrase et malheureusement après plusieurs lectures il y a des choses qui continuent à échapper :cry:

Le fait de contourner ce fonctionnement en changeant le typage de données pose un problème par la suite ? :cold_sweat:

Si c’est pour gérer de l’affichage non ce n’est pas gênant du tout.

Le problème se poserait peut-etre pour l’historisation des valeurs et donc l’utilisation des fonctions maxBetween et compagnie.
Mais dans ce cas il est simple de contourner en utilisant une info/numérique historisée mais non affichée et d’utiliser l’info/autre pour gérer l’affichage.

Dans le cas d’un chiffre après la virgule, afficher ce 0 montre bien que c’est 22.0, et non 21.9 ou 22.1. Donc c’est une info. En trop ? Je dirais non, car l’utilisateur choisi d’avoir 1 chiffre après la virgule.

Antoine

Je n’ai pas vraiment dit que c’était inutile. Mais à l’école quand on fait un calcul 1.2+1.8 on n’apprend pas à donner le résultat 3.0 mais 3. Le zéro n’est pas significatif, on ne l’écrit pas, il est en trop :wink:.

Les interpréteurs de programmation font la même chose.

Je ne suis pas d’accord sur ce point. Il est pour moi significatif justement, déformation professionnelle probablement.

Antoine

1 « J'aime »

Bonjour,
j’ai suivi à la lettre pour avoir une valeur X.0 mais voila ce que j’ai moi:

J’ai l’impression que c’est idem que vous…