Pour ma part j'utilise ce code pour afficher des nombres décimaux sur mon lcd. (ce n'est pas de moi)
Voila ce que ça donne pour une écriture sur le port série :
char buf[12];
double var=1.11;
void setup() {
Serial.begin(9600);
}
void loop() {
PrintDouble(var,2);
}
void PrintDouble( double val, byte precision){
if(val < 0.0){
Serial.println('-');
val = -val;
}
Serial.print(itoa(val,buf,10)); //prints the int part
if( precision > 0) {
Serial.print("."); // print the decimal point
unsigned long frac;
unsigned long mult = 1;
byte padding = precision -1;
while(precision--)
mult *=10;
if(val >= 0)
frac = (val - int(val)) * mult;
else
frac = (int(val)- val ) * mult;
unsigned long frac1 = frac;
while( frac1 /= 10 )
padding--;
while( padding--)
Serial.print("0");
Serial.println(itoa(frac,buf,10)) ;
}
}
Si tu as des questions , n'hésite pas