Rechnen mit Nachkommastellen?
-
Habe das hier in einer Datei:
#include <stdio.h> int main() { float a = 2; float b = 3; float c = a + b; float d = b / a; float e = b * a - 2; printf("4: %f\n", d); printf("1: %f\n", e); printf("2: %i\n", (9 / 2) / 3); }
doch möchte bei 2: das Ergebnis mit Nachkommastelle haben, da dachte ich probiere ich anstatt des %i %f doch dann kommt auch nicht das richtige raus.
Was muss ich da machen, bin totaler AnfängerDanke für jede Hilfe!
-
Du musst 9.0; 2.0; 3.0 schreiben, sonst werden
die Zahlen als integer erkannt und natürlich %f statt %iGruß,
Andreas
-
versuch mal so: printf("2: %f\n", (9.0 / 2) / 3);
mindestens einer muss 'ne fliesskommazahl sein (also musste 'nen dezimalpunkt anhängen).
-
hat funktioniert, doch dann auch schon das nächste problem:
printf("6: %f\n", 9 * 2 - 4);
habe das noch hinzugefügt und dann kommt als ergebnis
4: 1.500000
1: 4.000000
2: 2.250000
6: 2.250000warum kommt da 2,25 raus?
auch bei jeder weiteren rechnung, egal was kommt nun immer 2,25
-
chipper12 schrieb:
printf("6: %f\n", 9 * 2 - 4);
weil da wieder der punkt fehlt. probier dies: printf("6: %f\n", 9**.0** * 2 - 4);
-
Vielen Dank an euch, das geht echt schnell hier im Forum!
Also muss ich immer wenn ich %f verwende ein x.0 verwenden?
-
^^wenigstens einer in der rechnung muss vom typ 'double' sein, um das ganze ergebnis zum 'double' zu machen.
-
OK
Dann ist gut.