Tom Rowdys: Rechnen mit Preisen

Hallo Wissende,

der unten folgende Code macht mir etwas Kopfschmerzen. Aus einem Formular kommen über die Variablen pro1 usw. Daten zu Produkten, deren Gesamtwert ich berechnun will. Das Ganze basiert auf einem Beispielscript was ich hier mal fand.

Hiermit wird der Wert ermittelt eines Produktes ermittelt:

$wert=$_POST["anz".$i]*$_POST["ein".$i];

Also Anzahl mal den Produktpreis, der so aussehen könnte: 6.12

Leider habe ich festgestellt, dass bei der Berechnung nur mit GANZEN Zahlen gerechnet wird. Wer kann mir sagen, wie ich dieses Problem beheben kann? Ich bedanke mich schon im Voraus vielmals...Tom

while(isset($_POST["pro".$i])){
      if($_POST["anz".$i]!=0){
         $stuck++;
         $wert=$_POST["anz".$i]*$_POST["ein".$i];
         $gesamt+=$wert;
         $wert=number_format($wert,"2",",",".");
         $gesamt=number_format($gesamt,"2",",",".");
         if (isset($_POST["sor".$i]))
           $nachricht .= "\r\n    <tr>\r\n     <td width="15%">" . $_POST["anz".$i] . "</td><td width="30%">" . $_POST["pro".$i] . "</td><td width="15%">" . $_POST["sor".$i] . "</td><td width="25%">".number_format($_POST["ein".$i],"2",",",".") . "  " .$currency. "</td><td width="25%" align="right">" . $wert . " " .$currency. "</td></tr>";
         else
           if (isset($_POST["iswithsorte"]))
             $nachricht .= "\r\n    <tr>\r\n     <td width="15%">" . $_POST["anz".$i] . "</td><td width="35%">" . $_POST["pro".$i] . "</td><td>&nbsp;</td><td width="25%">".number_format($_POST["ein".$i],"2",",",".") . "  " .$currency. "</td><td width="25%" align="right">" . $wert . " " .$currency. "</td></tr>";
           else
             $nachricht .= "\r\n    <tr>\r\n     <td width="15%">" . $_POST["anz".$i] . "</td><td width="35%">" . $_POST["pro".$i] . "</td><td width="25%">".number_format($_POST["ein".$i],"2",",",".") . "  " .$currency. "</td><td width="25%" align="right">" . $wert . " " .$currency. "</td></tr>";
         $wert=0;
         } $i++;
    }

  1. Ich habe den Fehler selbst schon gefunden.

    $gesamt=number_format($gesamt,"2",",",".");

    darf erst nach der While-Schleife ausgeführt werden. War einfacher als ich dachte...