PHP Zahl auf 2 Nachkommastellen runden

Hallo,
wenn ich mit der Funktion
round($var,2);
eine Zahl wie 1,70 runde zeigt er 1,7 an und nur bei Zahlen, welche exakt 2 Nachkommastellen haben beide an, also 1,71 gibt 1,71.

Wie kriege ich es hin, dass er bei obigem Code und der Zahl 1,70 auch 1,70 ausgibt?

Danke

Hallo Thunderfox,

man unterscheidet zwischen einer mathematischen Runden nach x Nachkommastellen (abschneiden mit Berücksichtigung der Folgestellen) und der Abschneiden nach spätestens x Nachkommastellen. Dies bedeutet aber nicht zwingend -wie Du festgestellt hast-, dass auch x Nachkommastellen da sein müssen.

Also formatiert man seine Ausgabe entsprechend mit den Funktionen printf bzw. sprinf. Bei Dir dürfte es als Formatierungstring %f7.2 sein (z.B. es fehlen noch Angaben zur genauen Bestimmung).

Aber Achtung: Hier wird englischesprachige Formatierung verwendet. Eventuell Dir hier die Funktion

$german\_format\_number = number\_format($number, 2, ',', '.');
// 1,234,57

weiter.

MfG Georg V.

P.S.: Quelle http://www.php.net/manual/de/

Hallo,
also ich muss prüfen ob die Nachkommastelle nen glatter Zehner ist und
wenn ja mit echo ne 0 hinten dran setzen.

Was macht den das %f Prozent steht für Modulo und f?

sorry, aber RTFM

Sorry, but the function %f is not in the online manual. Perhaps you misspelled it, or it is a relatively new function that hasn’t made it into the online documentation yet.

sorry, aber RTFM

Sorry, but the function %f is not in the online manual.
Perhaps you misspelled it, or it is a relatively new function
that hasn’t made it into the online documentation yet.

komm mal vom schlauch runter :smile: er meint wirklich sprintf und printf im gegensatz zu print wie echo

hervorhebung durch mich:

Also formatiert man seine Ausgabe entsprechend mit den
Funktionen printf bzw. sprinf. Bei Dir dürfte es als
Formatierungstring %f7.2 sein (z.B. es fehlen noch Angaben zur
genauen Bestimmung).

Aber Achtung: Hier wird englischesprachige Formatierung
verwendet. Eventuell Dir hier die Funktion

$german_format_number = number_format($number, 2, ‚,‘, ‚.‘);
// 1,234,57