In PHP begegnen Sie häufig Szenarien, die bei der Verarbeitung der schwimmenden Punktzahlen "abgerundet" werden müssen. Zu diesem Zeitpunkt sind CEIL () und Round () die beiden häufigsten Funktionen. Obwohl sie alle Schwimmpunktzahlen für ganzzahlige Konvertierungen beinhalten, unterscheidet sich ihr Verhalten stark von den anwendbaren Szenarien. In diesem Artikel werden die Unterschiede zwischen diesen beiden Funktionen ausführlich eingebracht und ihre geeigneten Nutzungsszenarien analysiert.
Ceil () ist die Abkürzung der englischen Decke (Decke). Wie der Name schon sagt, ist seine Funktion eine Nummer nach oben. Unabhängig vom Bruchteil fügt Ceil () die nächste größere Ganzzahl hinzu, solange es sich nicht um eine Ganzzahl handelt.
Wie Sie sehen können, ist Ceil () für positive Zahlen "eine" hinzugefügt, während es für negative Zahlen in Richtung "Zero" gerundet ist, dh "kleiner werden".
Berechnen Sie die Gesamtzahl der Seiten in der Paging -Logik <br> Wenn Sie die Gesamtzahl der Datensätze und die Anzahl der pro Seite angezeigten Teile kennen, müssen Sie normalerweise Ceil () verwenden, um die Gesamtzahl der Seiten zu berechnen.
<code> $ Total_items = 105; $ items_per_page = 10; $ Total_pages = Ceil ($ Total_items / $ items_per_page); // Das Ergebnis ist 11 </code>Die Preise werden abgerundet, um Verluste zu vermeiden . <br> Wenn Sie beispielsweise den Mindestzahlungsbetrag auf einer E-Commerce-Website festlegen, ist es möglicherweise erforderlich, den ermäßigten Preis abzurunden.
<Code> $ diskonted_price = 19.2; $ Final_price = Ceil ($ rected_price); // Das Ergebnis ist 20 </code>Round () ist eine Funktion, die eine Zahl abrundet, die die Nummer "menschlicher" machen kann. Standardmäßig rundet es den Dezimalpunkt ab oder Sie können die Anzahl der reservierten Dezimalstellen durch den zweiten Parameter angeben.
Es ist erwähnenswert, dass PHPs Round () die "Banker-Runding-Methode" verwendet, die auch als "Rundungsmethode für die Runde" bezeichnet wird. Bei der Bearbeitung von Dezimalstellen am Ende von 0,5 entscheidet es, ob die vorherige Ziffer eine gleichmäßige Zahl ist oder sie tragen soll.
<Code> echo rund (2.5); // Ausgabe 2 Echo -Runde (3,5); // Ausgabe 4 </code>Dies vermeidet Fehler, wenn sich eine große Anzahl von Zahlen ansammelt.
Zeigen Sie benutzerfreundliche Werte an <br> Zum Beispiel, wenn Sie Produktbewertungen anzeigen möchten:
<code> $ durchschnitt_rate = 4,666; echo rund ($ durchschnitt_rate, 1); // Ausgabe 4.7 </code>Numerisches Gleichgewicht in Finanz- und Buchhaltungssystemen <br> Die Banker -Rundungsmethode kann kumulative Fehler reduzieren und wird daher häufig in Finanzstatistiken verwendet.
<code> $ price = 2,5; $ rund = rund ($ preis); // Das Ergebnis ist 2 </code>Diagrammdatenverarbeitung <br> In der Tabelle kann die Daten intuitiver und verständlicher werden.
<Code> $ prozentual = (45 /123) * 100; Echo -Runde ($ Prozent, 2); // Ausgabe 36.59 </code>Funktion | Verhalten | Szenarien verwenden |
---|---|---|
Ceil () | Nach oben rassen | Paging -Logik garantieren Sie, dass der Wert nicht geringer ist als der ursprüngliche Wert |
runden() | Rundung (sogar Zahlenmethode) | Humanisierte Anzeige, finanzielle Berechnung, Genauigkeitskontrolle der Diagramm |
Wenn Sie sich für die Verwendung von CEIL () oder Round () entscheiden, ist der Schlüssel, ob Sie sicherstellen möchten, dass das Ergebnis nicht geringer ist als der ursprüngliche Wert (mit Ceil () ), oder Sie möchten, dass das Ergebnis näher an der "durchschnittlichen" Darstellung des ursprünglichen Wertes (mit Round () ) liegt.
Beispielsweise entwickeln Sie ein E-Commerce-Backend-Management-System mit einer solchen Paging-Funktion in der Inventar-Paging-Anzeige:
<Code> Funktion GetTotAlpages ($ Total_items, $ items_per_page) {return ceil ($ Total_items / $ items_per_page); } </code>Und wenn Sie sich mit einem Benutzerzufriedenheitssystem befassen, können Sie dies tun:
<Code> Funktionsformatrating ($ Rating) {Return Round ($ Rating, 1); } </code>