Nachkommastellen beim Teilen



  • hallo,

    ich hab heute zum ersten mal mit C programmiert und bin gleich auf ein paar probleme gestoßen.

    ich will eine Zahl durch 100 teilen und die Zahl dann ausgeben:

    float ergebnis;
    int anzahl;
    [..]
    ergebnis = anzahl / 100;
    printf("Ergebnis: %.2f", ergebnis);
    

    jedoch werden dann immer die Nachkommastellen abgeschnitten. Was muss ich ändern?

    Danke



  • oO
    hi
    printf("...%.2f\n");
    das "%.2f" bdeutet, dass nur 2 Nachkommastellen ausgegeben werden.
    Einfach "%f" schreiben anstatt "%.2f", aber auch damit werden nicht unendlich viele stellen ausgegeben(glaub 8 oder sowas), aber ich denke auch nicht, dass das für Sie unbedingt nötig ist. Und ist auch nicht immer vorteilhaft, man denke nur daran was passieren würde wenn man eine periodische Zahl ausgeben möchte.

    mfg
    blut-lecker



  • ergebnis = anzahl / 100.0;
    oder
    ergebnis = (float)anzahl / 100;

    Ansonsten gibts eine Integer-Division, die dann einer Fließkommazahl zugewiesen wird.

    Gruß



  • oh shit stimmt ja übersehen sry, naja und dann halt noch %f *zu meiner rettung*;)

    mfg
    blut-lecker


Anmelden zum Antworten