Floats abschneiden
-
Hallo,
ich steh grad vor dem Problem, dass ich Floats nach der ersten Stelle hinter dem
Komma abschneiden muss.Hab's versucht mit
printf("%f.1\n",zahl);
aber leider wird hier gerundet
danke
Martin
-
int = float * 10
neuer_float = int / 10.Wäre das erste was mir dazu einfällt
Eventuel auch auf ein
float = (int)(float * 10) / 10.
abkürzbar, aber ungetestet, habs net mit casts
-
NobbZ schrieb:
float = (int)(float * 10) / 10.
abkürzbar, aber ungetestet, habs net mit casts
Das wird nicht funktionieren, da du hier eine Integer-Division machst.
So sollte es besser funktionieren:zahl = (int) (zahl*10) / 10.0;
-
Danke schön
läuft wunderbar
mfg
Martin
-
Ich denke 10**.** = 10.0 = 10f
Der Punkt ist klein aber da!
-
Huch, den kleinen unscheinbaren Punkt habe ich völlig übersehen. Damit sollte es natürlich auch klappen.
-
Habs grade ausprobiert... 10. und 10.0 funktionieren identisch. 10f will nicht, hab auch keine Ahnung wie ich da schon wieder drauf gekommen bin... Kann das Buch wo ich meine das drin gefunden zu haben nicht finden
-
Jetzt fehlt bei dir aber definitiv der Punkt! :p
Versuch's mal mit 10.f bzw. 10.0f
-
NobbZ schrieb:
float = (int)(float * 10) / 10.
In der Programmiersprache mit der ich zur Zeit programmiere, würde das nicht hinhauen. Da ist nämlich der . vergleichbar mit dem ; bei C :D. Also lieber noch ne 0 hinter dem Punkt, dann versteht so gut wie jeder was gemeint ist ;).