Anfängerfrage: warum werden keine Nachkommastellen ausgegeben



  • warum wird hier der endpreis nur als int und nicht als float ausgegeben? der endpreis lautet immer 12 statt 12,20 sein. Help.

    <?php
        $menge = 1;
        $stueckpreis = 12.2;
        $endpreis = 0;
        $einzelpreis = number_format($stueckpreis, 2, ',', '.');
        $gesamtpreis = $menge * $stueckpreis;
        $gesamtpreis = number_format($gesamtpreis, 2, ',', '.');
        $endpreis += $gesamtpreis;
        echo "'$einzelpreis'<br>'$gesamtpreis'<br>'$endpreis'<br>";
    ?>
    


  • <?php 
        $menge = 1; 
        $stueckpreis = 12.2; 
        $endpreis = 0.0;            // <----
        $einzelpreis = number_format($stueckpreis, 2, ',', '.'); 
        $gesamtpreis = $menge * $stueckpreis; 
        $gesamtpreis = number_format($gesamtpreis, 2, ',', '.'); 
        $endpreis += $gesamtpreis; 
        echo "'$einzelpreis'<br>'$gesamtpreis'<br>'$endpreis'<br>"; 
    ?>
    


  • @loggy: Leider nein. Das führt zu einer Ausgabe wie oben als Problem geschildert. Der Typ von Stückpreis ist hier unerheblich.
    @thorin: arbeite mit dem unformatierten Gesamtpreis für den Eindpreis weiter.

    <?php
        $menge = 1;
        $stueckpreis = 12.2;
        $endpreis = 0;
        $einzelpreis = number_format($stueckpreis, 2, ',', '.');
        $gesamtpreis = $menge * $stueckpreis;
        $gesamtpreis_ausgabe = number_format($gesamtpreis, 2, ',', '.');
        $endpreis += $gesamtpreis;
        echo "'$einzelpreis'<br>'$gesamtpreis_ausgabe'<br>'$endpreis'<br>";
    ?>
    

Anmelden zum Antworten