Position actuelle: Accueil> Derniers articles> Pourquoi la fonction CEIL (5.0) appelle-t-elle PHP renvoie toujours 5 au lieu d'un entier plus grand?

Pourquoi la fonction CEIL (5.0) appelle-t-elle PHP renvoie toujours 5 au lieu d'un entier plus grand?

M66 2025-06-13

Dans PHP, la fonction ceil () est utilisée pour s'arrondir et convertir une valeur de point flottante en un entier minimum pas moins que ce nombre. Intuitivement, CEIL (5.3) reviendra 6 , tandis que le CEIL (5.0) entraînera 5 . De nombreux débutants seront confus, pourquoi Ceil (5.0) ne renvoie-t-il pas un entier plus grand, comme 6 , mais renvoie 5 ? Cela implique en fait la logique de la conception des fonctions et l'essence des nombres de points flottants.

1. Définition de la fonction ceil ()

La définition officielle de la fonction ceil () est:

Renvoie le plus petit entier supérieur ou égal à la valeur du paramètre.

La chose la plus importante ici est la condition " supérieure ou égale à ". Si le nombre passé dans le nombre lui-même est un entier (ou un nombre de points flottants équivalents à un entier), l'entier lui-même est renvoyé.

Par exemple:

 <?php
echo ceil(5.3);  // Sortir 6
echo "\n";
echo ceil(5.0);  // Sortir 5
?>

Bien que 5.0 soit un nombre de points flottants, il est numériquement égal à l'entier 5 , donc le résultat est 5 .

2. La relation entre les nombres de points flottants et les entiers

5.0 représente un numéro de point flottant, mais sa valeur se trouve être un entier. La fonction ceil () détermine la taille de la valeur numérique, pas le type de données, donc:

  • Si la valeur est de 5,0 , l'arrondissement vers le haut est de 5 ;

  • Si la valeur est de 5,00001 , l'arrondissement vers le haut est de 6 .

Vous pouvez utiliser du code pour le tester:

 <?php
var_dump(ceil(5.0));      // float(5)
var_dump(ceil(5.00001));  // float(6)
?>

3. Pourquoi pas un entier plus grand?

Le comportement de la fonction ceil () suit la définition mathématique de "rassemblement", c'est-à-dire "renvoyant le plus petit entier supérieur ou égal au paramètre", plutôt que de renvoyer simplement "l'interger suivant plus grand que le paramètre".

donc:

  • Le CEIL (5.0) est 5 car 5 lui-même est le plus petit entier pas moins de 5,0 ;

  • Si 6 est retourné, il viole en fait le principe de "entier minimum".

4. Applications et précautions connexes

Parfois, nous voulons nous assurer que le résultat est un entier, et nous pouvons lancer le résultat:

 <?php
$result = (int) ceil(5.0);
var_dump($result);  // int(5)
?>

De plus, ceil () renvoie un type de numéro de point flottant, et même une valeur entière sera renvoyée en tant que numéro de point flottant.

5. Conclusion

Ceil (5.0) renvoie 5 au lieu de plus grands entiers, ce qui est parfaitement conforme à la conception de la fonction et à la définition mathématique. Son noyau est de " renvoyer le plus petit entier supérieur ou égal à la valeur donnée " plutôt que "renvoyer un entier supérieur à la valeur donnée".