Dans le développement de PHP, nous avons souvent besoin d'arrondir les nombres de points flottants. Bien que la fonction intVal () puisse convertir les variables en entiers, il ne prend pas en charge l'arrondi vers le haut (c'est-à-dire le "plafond" opération), il tronque simplement la partie fractionnaire et arrond le résultat vers le bas. Afin d'atteindre l'effet de l'arrondi ascendante, il est généralement nécessaire de l'utiliser en conjonction avec d'autres fonctions, telles que ceil () .
Cet article présentera comment combiner les fonctions CEIL () et intVal () pour réaliser la fonction de recruter d'abord puis de se convertir en entiers, et expliquer les détails qui doivent être prêts à l'attention lors de son utilisation.
La fonction intVal () est utilisée pour convertir une variable en type entier, et la syntaxe est la suivante:
intval(mixed $var, int $base = 10): int
Il tronquera directement la partie fractionnaire:
<?php
var_dump(intval(4.7)); // Sortir int(4)
var_dump(intval(-3.9)); // Sortir int(-3)
?>
Comme on peut le voir à partir de l'exemple ci-dessus, IntVal () ne tourne pas ni ne tourne dans la partie décimale.
La fonction CEIL () est utilisée pour rassembler le nombre de points flottants, renvoyant le plus petit entier supérieur ou égal au nombre donné, et le type de résultat est un numéro de point flottant.
ceil(float $value): float
Exemple:
<?php
var_dump(ceil(4.1)); // Sortir float(5)
var_dump(ceil(-3.7)); // Sortir float(-3)
?>
Notez que ceil () renvoie un numéro de point flottant. Si un type entier est requis, il doit encore être converti.
Si vous souhaitez d'abord arronser un numéro de point flottant, puis le convertir en un type entier, vous pouvez d'abord le tourner avec ceil () , puis le convertir avec intVal () :
<?php
$num = 4.3;
$intNum = intval(ceil($num));
echo $intNum; // Sortir 5
?>
Cela atteint le but de «rassembler et de se convertir en entiers».
<?php
function ceilToInt($num) {
return intval(ceil($num));
}
// test
$values = [3.2, 5.9, -2.7, -4.0];
foreach ($values as $val) {
echo "Valeur d'origine: $val, Entier après avoir rassemblé: " . ceilToInt($val) . "\n";
}
?>
Résultats en cours:
Valeur d'origine: 3.2, Entier après avoir rassemblé: 4
Valeur d'origine: 5.9, Entier après avoir rassemblé: 6
Valeur d'origine: -2.7, Entier après avoir rassemblé: -2
Valeur d'origine: -4, Entier après avoir rassemblé: -4
Scénario : Il est très pratique lorsque vous devez rassembler le prix, le numéro de page, la quantité, etc., et que vous avez besoin de types entiers.
Avis :
ceil () renvoie un numéro de point flottant et doit utiliser intVal () ou coulé pour obtenir l'entier.
IntVal () gère les nombres négatifs en tronquant la partie fractionnaire, sans l'arrondir. Il ne peut pas être arrondi vers le haut lorsqu'il est utilisé seul.
Lorsqu'il est combiné, l'ordre ne peut pas être inversé. Par exemple, cel (intval ($ num)) n'est pas équivalent à Intval (ceil ($ num)) .
Supposons que vous souhaitiez traiter un paramètre URL contenant un nombre et arrondir le paramètre jusqu'à un entier: