Bon, j'ai passé l'après midi à essayé des tonnes de codes qui n'aboutissent absolument pas à ce que je veux faire, donc je sors ma dernière chance, le forum
L'idée étant de convertir une valeur de variable unsigned long (ce sont des millisecondes), pour la mettre dans une autre variable qui sera exploitée par la suite, mais sous forme x.y (secondes.dixièmes de seconde).
J'ai donc ma variable en millisecondes :
unsigned long tps_play = 0;
qui est incrémenté dans le void loop() .
J'ai une variable avant le setup :
float arondi_play = 0;
J'ai essayé des round, des floor etc etc, tout un tas de manip mais ca me met toujours .00 comme décimales .
Je ne souhaite pas utiliser de code du genre
lcd.print(valeur, 1);
Tu peux diviser ta variable de départ par 100 avec résultat dans un unsigned long pour ne garder que la partie entière puis tu divisés pas 10 en rangeant le résultat dans ta variable d'arrivée. Pour les 0 qui traînent, cela dépend de ce tu fais avec.
jpbbricole:
Le résultat correspond parfaitement (et meme mieux) au besoin si je divise la première fois par 100 et non 10 (sans doute une faute de frappe).
La conversion en String , top , car ca me permet de meme aligner l'affichage pour que le point ne se déplace pas.
Couin:
Le résultat correspond parfaitement (et meme mieux) au besoin si je divise la première fois par 100 et non 10 (sans doute une faute de frappe).
Non malheureusement c'est pire, certainement du à l'âge, en raisonnant, j'ai perdu l'énoncé du problème et fait comme s'il fallait diviser par cent... mais la "mécanique" est la même.
néanmoins attention, ça fonctionne, mais utiliser String, c'est un peu ouvrir la boite de pandore... là la longueur de la chaine est connue,il vaudrait donc mieux utiliser une chaine de type classique.