In PHP wird die CEIL () -Funktion verwendet, um einen schwimmenden Punktwert nach oben und in eine minimale Ganzzahl umzuwandeln, die nicht weniger als diese Zahl ist. Intuitiv kehrt Ceil (5.3) 6 zurück, während CEIL (5,0) zu 5 führt. Viele Anfänger werden verwirrt sein, warum CEIL (5.0) keine größere Ganzzahl zurückgibt, wie 6 , sondern 5 zurückgibt? Dies beinhaltet tatsächlich die Logik des Funktionsdesigns und die Essenz der schwimmenden Punktzahlen.
Die offizielle Definition der Funktion ceil () lautet:
Gibt die kleinste Ganzzahl mehr als oder gleich dem Parameterwert.
Das Wichtigste hier ist der Zustand " größer als oder gleich ". Wenn es sich bei der Übergabe in der Zahl selbst um eine Ganzzahl (oder eine schwimmende Punktzahl entspricht, die einer Ganzzahl entspricht), wird die Ganzzahl selbst zurückgegeben.
Zum Beispiel:
<?php
echo ceil(5.3); // Ausgabe 6
echo "\n";
echo ceil(5.0); // Ausgabe 5
?>
Obwohl 5,0 eine schwimmende Punktzahl ist, ist sie numerisch gleich der Ganzzahl 5 , so dass das Ergebnis 5 ist.
5.0 stellt eine schwimmende Punktzahl dar, aber sein Wert ist eine Ganzzahl. Die Funktion CEIL () bestimmt die Größe des numerischen Werts, nicht den Datentyp, also:
Wenn der Wert 5,0 beträgt, beträgt das Abrunden nach oben 5 ;
Wenn der Wert 5.00001 beträgt, beträgt die Abbrüche nach oben 6 .
Sie können Code verwenden, um es zu testen:
<?php
var_dump(ceil(5.0)); // float(5)
var_dump(ceil(5.00001)); // float(6)
?>
Das Verhalten der CEIL () -Funktion folgt der mathematischen Definition von "Rundung", dh "die kleinste Ganzzahl größer oder gleich dem Parameter zurückgibt", anstatt einfach "die nächste Ganzzahl größer als der Parameter" zurückzugeben.
Also:
Ceil (5,0) ist 5 , weil 5 selbst die kleinste Ganzzahl von mindestens 5,0 ist;
Wenn 6 zurückgegeben wird, verstößt es tatsächlich gegen das Prinzip der "Minimum -Ganzzahl".
Manchmal möchten wir sicherstellen, dass das Ergebnis eine Ganzzahl ist, und wir können das Ergebnis abgeben:
<?php
$result = (int) ceil(5.0);
var_dump($result); // int(5)
?>
Darüber hinaus gibt CEIL () einen schwebenden Punktnummer zurück, und selbst ein Ganzzahlwert wird als schwimmende Punktzahl zurückgegeben.
Ceil (5.0) gibt 5 anstelle von größeren Ganzzahlen zurück, was perfekt zum Funktionsdesign und der mathematischen Definition entspricht. Sein Kern besteht darin, " die kleinste Ganzzahl mehr als oder gleich dem gegebenen Wert zurückzugeben ", anstatt "eine Ganzzahl größer als der gegebene Wert zurückzugeben".