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.
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]#)
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…
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
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
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.
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 .
Les interpréteurs de programmation font la même chose.