Nachkommastellen ermitteln
webapache
- php
Hallo zusammen,
danke erstmal für die anderen Hilfestellungen von Euch!
Mal was zum rechnen mit PHP. Da ich einige Preise prozentual anhebe mit PHP und vorher von einem String in Float umwandle, kommt am Ende ein Double Wert heraus, der eigentlich zwei Nachkommastellen haben soll.
Wie erreiche ich es, das beim Ausgeben des Ergebnisses immer zwei Nachkommastellen ausgegeben werden. Also, ich brauche z.B. nicht das Ergebnis "12" sondern "12.00", nicht "12.2" sondern "12.20". Einfach ausgedrück, wie verhindere ich, das mir die NULLEN hinten abgeschnitten werden. Bzw. wie fügt man sie am geschicktesten wieder hinzu:
der Wert wird in der Variablen:
$strNewPrice = (double)sprintf ('%.2f', $strPreis2);
hinterlegt.
Danke Euch.
Gruß,
Olli
Hello,
Wie erreiche ich es, das beim Ausgeben des Ergebnisses immer zwei Nachkommastellen ausgegeben werden. Also, ich brauche z.B. nicht das Ergebnis "12" sondern "12.00", nicht "12.2" sondern "12.20". Einfach ausgedrück, wie verhindere ich, das mir die NULLEN hinten abgeschnitten werden. Bzw. wie fügt man sie am geschicktesten wieder hinzu:
Es gibt unterschiedliche Wege nach Rom...
einer wäre z.B. die Funktion number_format()
http://de3.php.net/manual/de/function.number-format.php
Liebe Grüße
Tom
Naja, erst denken dann schreiben:
$strNewPrice = number_format((double)sprintf ('%.2f', $strPreis2), 2);
Was soll's. :-)
Tschau,
Olli
Hallo zusammen,
danke erstmal für die anderen Hilfestellungen von Euch!
Mal was zum rechnen mit PHP. Da ich einige Preise prozentual anhebe mit PHP und vorher von einem String in Float umwandle, kommt am Ende ein Double Wert heraus, der eigentlich zwei Nachkommastellen haben soll.
...
echo $begrüßung;
$strNewPrice = number_format((double)sprintf ('%.2f', $strPreis2), 2);
sprintf() formatiert doch bereits einen Wert. Wenn du ihn danach wieder in einen Fließkommawert zurückverwandelst, gehe natürlich die Formatierung zugunsten der PHP-internen Darstellung von Fließkommawerten verloren. Dein jetziges Konstrukt ist nun Formatierung->Typecast->Formatierung.
Vermutlich hast du ein generelles Problem, was die Reihenfolge der Verarbeitungsschritte angeht. Es hat sich bewehrt, die Verarbeitung nach dem EVA-Prinzip aufzuteilen. Während der Verarbeitung arbeite mit dem Fließkommawert. Erst wenn du den Wert in die Ausgabe übergibst, formatiere ihn. Die eigentliche Variable bleibt dabei unverändert, nur das Ergebnis der Formatierfunktion fließt in die Ausgabe ein.
echo "$verabschiedung $name";