Standardanzahl der Dezimalstellen für die Ausgabe in PHP
Ich mein php auf meiner dev-box zu Hause, wo ich habe eine rudimentäre setup-LAMPE. Wenn ich mir meine website auf meinem Heim-box, alle zahlen, die ich echo werden automatisch abgeschnitten, um die mindestens erforderliche Präzision. Eg 2 echo 2, 2.2000 ist auch als 2.2.
Auf die Produktion-box, die alle die zahlen, die zurückgegeben werden, mit mindestens einem unnötigen null, also z.B. 100 wird, 100.0. Auf beiden Boxen, die PHP-version ist 5.2.5. Weiß jemand spontan, ob es eine Einstellung die ich ändern kann, die Kraft, PHP automatisch entfernen Sie alle unnötigen Nullen? Ich will nicht zu haben, gehen Sie zu jedem Ort in meinem code, wo ich die Ausgabe einer Zahl und ersetzen echo mit printf oder so ähnlich.
Muchas gracias.
InformationsquelleAutor el_champo | 2008-12-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Und wenn Sie können nicht Sie verlassen sich auf die PHP-Konfiguration vergessen Sie nicht, über number_format() die Sie verwenden können, um zu definieren, wie eine Zahl wird zurückgegeben, ex:
PS: und versuchen Sie zu vermeiden, mit money_format(), da funktioniert es nicht auf Windows und einigen anderen Boxen
InformationsquelleAutor TravisO
Einen schnellen Blick durch die verfügbaren INI Einstellungen macht mich, was Ihre Präzision Werte unterschiedlich sind?
Sie müssen es erneut versuchen, den Apache neu starten, etc.. 😉
jepp, hab alle 😉
InformationsquelleAutor Peter Bailey
danke für die vielen Antworten - die Lösung war die Besetzung der Rückgabewert der Methode verantwortlich für einen float. I. e. es Tat
Ich nur verändert, um
dann PHP abgeschnitten nachgestellte Nullen, wenn nötig.
Kann jemand in der Nähe?
InformationsquelleAutor el_champo
Nur, um auszuschließen, andere mögliche Ursachen: Wo sind die zahlen her? Tut er dies mit Literalwerten?
Es scheint nicht wahrscheinlich, dass die Präzision der Einstellung allein konnte dies dazu führen,. Prüfen Sie außerdem, ob irgendetwas stören könnte mit der Ausgabe über Dinge wie
auto_prepend_file
oderoutput_handler
.InformationsquelleAutor
Sollten Sie die round () - Befehl, immer abrunden, die Präzision, die Sie wollen, sonst werden einige Tage du wirst etwas wie 2.2000000000123 aufgrund der Natur der float-Arithmetik.
InformationsquelleAutor
Versuchen eine eingebaute Funktion
round
;Beispiel #1 round() Beispiele
Beispiel #2 Modus-Beispiele
InformationsquelleAutor Somnath Muluk