Je vous préviens tout de suite je n'ai pas testé le code ci-dessous, mais comme je suis insipré, j'écris et vous allez me dire svp ce que vous en pensez.
Dans le principe cela fonctionne mais en pratique les calculs en flottant entrainent des erreurs d'arrondi et le résultats ne tombe pas toujours juste. Typiquement la conversion (float)(b)/10.0 retourne souvent de nouvelles décimales non souhaitées.
Si c'est pour de l'affichage il est préférable de "jouer" avec les paramètres de printf. Pour les calculs c'est un autre problème.
printf est une fonction "standard" du C (dans la librairie stdio) qui gère l'affichage sur la console. Dans la librairie lcd il n'y a que print qui assure un minimum de possibilité. Si tu veux utiliser les possibilités de printf pour de l'affichage vers un écran lcd il faut utiliser la fonction sprintf.
sprintf "écrit" dans une chaine au lieu de vers l'écran.
Exemple
char tampon[25];
float ma_valeur=34567.567;
sprintf(tampon,"la valeur est %f8.2",ma_valeur);
lcd.print(tampon);
Le premier chiffre après le %f indique la taille du champs dans lequel sera placé le flottant.
Le second chiffre indique le nombre de décimales.
Attention a bien dimensionner la tampon pour qu'il puisse stocker le texte + le nombre sinon c'est le plantage assuré.
et surtout (s)printf permet de faire des alignements (en rajoutant des zéros devant les nombres), indispensables sur un LCD quand on fait défiler des valeurs successives.