Forum: Compiler & IDEs Typenumwandlung Float -> String


von Kofi (Gast)


Lesenswert?

Guten Abend!
Mich interessiert mal wie man eine Variable vom Typen "Float" in
"String" umwandeln kann. Mit "Integer" funzt es :

        itoa( iChannel , temp, 10);

... Nur halt nicht mit Float...
also wenn ich z.B. 5,464721 habe soll der mir "5,46" ausgeben  und
nicht "0000005,4647210000"  oder sowas in der Art.

Danke schonmal!

greez
Kofi

von Jörg Wunsch (Gast)


Lesenswert?

Siehe Doku: entweder die volle stdio-Familie (kostet ziemlich viel ROM
und auch RAM, kann dafür fast alles außer Wäschewaschen), oder als
Minimalform dtostrf() (bzw. dtostre()).

Mit Komma als Dezimaltrenner sieht's aber zur Zeit nicht gut aus...
der Punkt ist ziemlich hart im Code drin.  Bliebe Dir als Alternative
wohl nur erstmal, daß Du die entsprechenden Implementierungen der
avr-libc mit in Dein Projekt kopierst und dort lokal modifizierst.

von Kofi (Gast)


Lesenswert?

WOW das ging schnell...
Das bezog sich mehr auf die überflüssigen nullen
ob da 3,5 oder 3.5 steht ist mir wurscht !

Danke !!! ich werds mal ausprobieren

von Matthias (Gast)


Lesenswert?

Hi

wobei man den Punkt im resultierenden String ja immer noch mit einem
Komma ersetzen kann. Oder denke ich jetzt wieder zu einfach?

Matthias

von Josef (Gast)


Lesenswert?

Würde eine Typenumwandlung machen zB. in int (davor mit 100
multiplizieren)oder int Zahlen nehmen, die ich zuvor mit zB.  100 (2
Nachkommastellen) multipliziere. Geht gut wenn du deinen Zahlenbereich
kennst. Spart viel Code.

Josef

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.