rundung abschalten

  • Themenstarter Themenstarter fercules
  • Beginndatum Beginndatum
F

fercules

och nö freunde, was ist das :-))

$sql = mysql_query("SELECT * FROM warenkorb WHERE status='notbought' AND sid = '$sid'");
while ($row = mysql_fetch_array($sql)) {
$gesamtpreis = $gesamtpreis + ($row['menge'] * $row['einzelpreis']);

}

den $gesamtpreis rundet er leider und vergisst die letzten zwei stellen :-(( aus 495,99 macht er 495 :-( was kann ich dagegen tun? habs schon mit round,2 versucht, geht aber nicht:-(

mfg
stephan
 
PHP rundet nicht, wenn du es nicht explizit sagst. Deine Daten weden also bereits gerundet gespeichert sein. Anders kann ich mir das nicht erklären.
 
Mach mal einen var_dump($gesamtpreis) - Ich vermute es wirft den Datentyp integer raus. Versuch dann mal
$gesamtpreis = (float) $gesamtpreis;
um einen expliziten Typecast durchzuführen.
Normalerweise ist der Punkt (.) das Trennzeichen für float

cu
 
Hallo zusammen,
Ich habe ein ähnliches Problem. In der Datenbank sind meine Zahlen als float gespeichert und demensprechend mit komma zahlen. Wenn ich diese Zahlen nun aber per query auslese rundet mir php diese Werte automatisch auf meinem localen xampp server passiert das nicht, aber auf dem online server schon. Auf dem online Server ist eine 4.x php version.

Kann mir jemand helfen und sagen wie ich diese Rundung umgehen kann?

P.S: Bei der Datenbank abrage handelt es sich um eine mit gebrauch von UNION. Wenn ich den wert einzel abfrage habe ich keini probleme mit dem runden.

Viele Grüsse
Jenny
 
Zuletzt bearbeitet:
Ich konnte das Problem folgendermassen loessen: Und zwar mit einer ergaenzung im mysql query

-->
TRUNCATE(colom1, 2) as ZahlMit2KommaStellen

So zeigt mir auch php die 2 kommastellen an..

Gruss
 
Zurück