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änger

    Danke 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 %i

    Gruß,

    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.250000

    warum 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.


Log in to reply