Sie können die Größe der Zahl vor dem Abrunden mit Floor erhöhen:
%Vor%Eine andere Lösung, die eine bessere Genauigkeit bieten kann, da Fließkommaarithmetik vermieden wird, besteht darin, sie mit drei Dezimalstellen zu formatieren und die letzte Ziffer nach der Formatierung wegzuwerfen:
%Vor% "00000,10"
ist eine Zeichenkette. Du solltest einen Dezimalpunkt haben. Um das gewünschte Verhalten zu erhalten, könnten Sie verwenden:
Einige Leute haben erwähnt, es auf 3 zu runden und dann das letzte Zeichen fallen zu lassen. Das funktioniert eigentlich nicht. Nehmen wir an, Sie haben 2.9999 und runden es auf 3. Es sind 3.000.
Das ist immer noch nicht genau, die beste Lösung ist dies:
%Vor%Was dies tut, nimmt den Preis und multipliziert ihn mit 100 (10 ^ dezimal), was 567,8 ergibt, dann benutzen wir floor, um es auf 567 zu bringen, und dann teilen wir es zurück durch 100, um 5.67
zu erhalten Kurz bevor number_format
ausgeführt wird, wird die Zeichenkette "0,10" durch php in eine Zahl umgewandelt. Da php immer die englische Schreibweise verwendet, wird es nicht nach dem Komma schauen.
Der "Äpfel" -Teil wird ignoriert genauso wie Ihr ", 10" ignoriert wird.
Konvertieren des "," in ein "." erlaubt php, die anderen Ziffern zu sehen.
%Vor%Tags und Links php rounding number-formatting