Mysql Nachkommastellen (0) abschneiden?

4 Antworten

Zum Abschneiden nimm' in PHP die floor Funktion, die schneidet alle Nachkommastellen weg.
Um auf 2 Nachkommastellen zu kürzen mltiplzierst Du den Wert zunächst mit 100, kürzt ihn und teilst ihn wieder durch hundert.

x = floor (x*100) / 100;



Wenn Du lieber runden statt abschneiden willst, nimm round:

x = round (x*100) / 100;



Noch eleganter ist die Funktion number_format
Da kannst Du dann bestimmen wie der Zeichen für Dezimalstelle und zur Gruppierung der Tausender aussehen.

Syntax: ZAHL = number_format (ZAHL, Nachkommastellen, Dezimaltrennzeichen, Tausendertrennzeichen)

$x = number_format($x, 2, ',', '.');


Das würde aus 1234,567 dann 1.234,57 machen - arbeitet also wie round().
Wenn Du's in eine Datenbank schreibst brauchst Du aber keine Tausendertrennzeichen und als Dezimaltrenner enen Punkt:

$x = number_format($x, 2, '.', '');

Schau dir mal Reguläre Ausdrücke (Regex) an. Damit lässt sich das ohne Probleme und vorallem ohne Fehler (wie bei den anderen Antworten) lösen.

Das nützt dir nix, da du in der DB 3 Nachkommastellen definiert hast. PHP "schneidet" das eh schon automatisch ab, MySQL fügt die Nullen aber wieder hinzu - eben aufgrund der definierten 3 Nachkommastellen.


Evergreen89 
Beitragsersteller
 02.03.2017, 10:18

Meine Frage war ein wenig undeutlich.

Ich meine natürlich wenn ich die Daten wieder aus der DB auslese.