Bei der PHP -Entwicklung ist es häufig notwendig, die Werte bei der Verarbeitung der schwimmenden Punktzahlen nach oben oder unten zu runden. PHP bietet zwei sehr praktische mathematische Funktionen: Ceil () und Floor () . Ihre Funktionen scheinen ähnlich zu sein, aber tatsächlich haben sie wesentliche Unterschiede. In diesem Artikel wird die Unterschiede zwischen diesen beiden Funktionen im Detail analysiert und untersucht, welche Funktion besser für die Verwendung in Szenarien geeignet ist, in denen die Aufwärtsrundung erforderlich ist.
Die Funktion der CEIL () -Funktion besteht darin , nach oben abzurunden . Unabhängig vom Bruchteil, solange es eine Dezimalzahl gibt, erhöht es die Zahl auf die kleinste Ganzzahl, die größer oder gleich diesem ist.
<?php
echo ceil(4.3); // Ausgabe 5
echo ceil(9.999); // Ausgabe 10
echo ceil(-3.1); // Ausgabe -3
?>
Wie oben gezeigt, gibt Ceil (4,3) 5 zurück, d. H. Die kleinste Ganzzahl größer als 4,3 , während CEIL (-3,1) -3 zurückgibt, da -3 die kleinste Ganzzahl größer als -3,1 ist.
Im Gegensatz zu CEIL () wird die Floor () -Funktion verwendet, um abzurunden . Es gibt immer die maximale Ganzzahl weniger als oder gleich der ursprünglichen Zahl zurück.
<?php
echo floor(4.7); // Ausgabe 4
echo floor(9.999); // Ausgabe 9
echo floor(-3.1); // Ausgabe -4
?>
Beachten Sie, dass das Verhalten von Floor () bei der Verarbeitung negativer Zahlen "negativer" ist, z. B. Floor (-3.1 ) .
Die Zusammenfassung lautet wie folgt:
Funktion | Runden/runter | Positive Leistung | Negative Leistung |
---|---|---|---|
Ceil () | Nach oben rassen | Aufwärts (größer) | Aufwärts (kleiner negativ) |
Boden() | Abrunden | Unten (kleiner) | Abwärts (größere negative Zahl) |
Dieser Unterschied ist besonders wichtig, wenn es notwendig ist, mit negativen Zahlen umzugehen. Wenn Sie beispielsweise in einem Benutzerpunktsystem Punkte "mehr" Punkte "abziehen" möchten, müssen Sie möglicherweise besondere Aufmerksamkeit darauf achten, welche Funktion Sie auswählen möchten.
Es besteht kein Zweifel, dass Sie die Funktion ceil () verwenden sollten, wenn Sie sich zusammenschließen müssen . Die ursprüngliche Absicht von Ceil () besteht darin, die kleinste Ganzzahl immer mehr als die ursprüngliche Zahl zurückzugeben, wenn es eine Dezimalstelle gibt.
Wenn Sie beispielsweise in der Paging -Funktion eine API -Anforderung haben: https://m66.net/api/get_list.php?total=53&per_page=10 , müssen Sie möglicherweise die Gesamtzahl der Seiten berechnen:
<?php
$total = 53;
$perPage = 10;
$pages = ceil($total / $perPage);
echo $pages; // Ausgabe 6
?>
Wenn Sie Floor () missbrauchen, wird das Ergebnis zu 5 Seiten und der Benutzer kann die letzten drei Datenstücke nicht sehen.
Ceil () : Runden Sie sich besser für Szenarien geeignet, in denen Sie den ursprünglichen Wert "zumindest" überschreiben möchten.
Floor () : Runddown, geeignet für Anwendungen, die Sie nur für den ursprünglichen Wert nicht überschreiten.
In Szenarien, in denen die Aufwärtsrundung erforderlich ist, ist die CEIL () -Funktion eine bessere Wahl . Das Verständnis der Nuancen dieser beiden Funktionen kann den Entwicklern helfen, im Umgang mit schwimmenden Punktzahlen genauer und effizienter zu sein.