bonjour , pour l’exécution d’un scénario vocal j’aurais besoin de convertir un float en string et remplacer le "."
par une virgule ","
.
dans le testeur d’expression j’ai donc fait ceci:
str_replace('.' , ',', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
le problème c’est que la réponse est toujours " ' "
.
si je fait fait :
str_replace('.' , ':', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
la j’ai bien 0:65
, on dirais que jeedom interprète la ","
j’ai bien tenté le echap "\,"
mais ca ne marche pas nom plus
et donc google me dis la valeur tatata… est de 065 au lieux de me dire 0,65
une idée du formatage suis coincé je dois dire
merci d’avance
j’ai donc tenté avec ceci :
str_replace('.' , '/,/', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
et mon reply est :
Je vais évaluer : /'
Résultat : /'
si je fait
str_replace('.' , '//', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
le resultat est :
Je vais évaluer : 0//65
Résultat : 0//65
j’ai même essayé avec une variable(virgule)
qui contient la chaine ","
, idem ca renvoye:
Je vais évaluer : '
Résultat : '
Bison
Mai 12, 2022, 3:25
4
Bon et bien sinon vu que c’est pour faire du TTS tu pourrais l’écrire puisqu’il sera dicté
str_replace('.' , ' virgule ', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
Futé !
donc j’ai fait ceci :
str_replace('.' , 'virgule', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
au TTS ca passe malgré le string : "0virgule65"
le 65 est bien dis , il ne dis pas 6 et puis 5.
j’ai essayé d’ajouter un spacer pour avoir "0 virgule 65"
mais ca passe pas .
str_replace('.' , 'str_pad("virgule", 9, " ", STR_PAD_BOTH)', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
renvoie : '65'
Bison
Mai 12, 2022, 3:52
6
Un spacer ? Je vois pas bien ce que c’est (je n’ai jamais utilisé TTS peut-être pour ça) ?
Pour les espaces.
str_replace('.' , ' virgule ', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
Bison
Mai 12, 2022, 3:55
8
Ah, oui … c’est ce que j’avais indiqué au départ en fait. J’avais pas remarqué qu’il les avaient supprimés dans la tentative
1 « J'aime »
il supprimer les espace simple malheureusement
str_replace('.' , 'str_pad("virgule", 9, " ", STR_PAD_BOTH)', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
retourne '0virgule65'
et
str_replace('.' , ' virgule ', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
aussi
Bison
Mai 12, 2022, 4:05
10
Bon et bien on va feinter encore …
str_replace('.' , ' virgule ', strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#))
Bizarre quand même, moi j’utilise des expressions de ce type :
$notif_ICO .= " La température de l'eau est de " . str_replace(".", ",", $tempPiscine) . " °C";
dans plus de 10 scénarios sans soucis, la transpo se fait nickel
Le problème viens sans doute du strval(#[MQTT][rieuxLevelToMqtt][rieuxLevelToMqtt]#), essaye le stockage dans une variable plutôt qu’en direct, également SANS le strval
Hello
Dans mon cas j’utilise
"La température extérieure est de ".str_replace('.',' virgule ',round($TempExt ,1))."°. ";
Et cela fonctionne
Claude69:
Dans mon cas j’utilise
Je pense qu’il n’utilise pas les blocs code.
ca run super en html , par contre en TTS ca sonne beaucoup moins bien lol
c’est dingue ca , ici rien a faire ca delete ‹ les empty space ›
Bison
Mai 12, 2022, 8:10
16
Cool !
Si c’est ok pour toi pense à fermer le sujet en cochant la solution proposée.
A+
system
A fermé ce sujet ()
Mai 13, 2022, 8:10
17
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.