Ich berechnen einen Wert mit float Zahlen...
Wenn ich ihn in einen string mit dtostrf wandeln will, gibt es immer einen Rundungsfehler...

Code:
char ausgabe[20];
float r=6537.137;

dtostrf(r,4,4,ausgabe);
disp_text(ausgabe);
Dann wird der Wert 6537.1371 Ausgegeben...
auch wenn ich die zahl 6537.13700000 in die Variable schreibe, bringt er mir 6537.13711111111111 ????
Mit der Zahl 6000.2000 funktioniert es tadellos?

Ist für solche Zahlen float nicht geeignet?
Habe auch schon folgendes versucht:
sprintf(ausgabe,"%f",r);
aber da gibt es eine warnung wegen double und ein ? wird ausgegeben...

Irgendwelche Tipps?

Merci