floor()
округляет число до ближайшего целого.
РЕДАКТИРОВАТЬ: Как указано ниже Марком, это будет работать только для положительных значений, что является важным предположением. Для отрицательных значений вы захотите использовать ceil ()
, но проверка знака входного значения будет обременительной, и вы, вероятно, захотите использовать приведение Mark или TechnoP (int)
идея взамен. Надеюсь, это поможет.
$y = 1.235251;
$x = (int)$y;
echo $x; //will echo "1"
Редактировать: Использование явного приведения к (int) - наиболее эффективный способ сделать это AFAIK. Также приведение к (int) обрезает цифры после "." если число отрицательное, вместо округления до следующего меньшего отрицательного числа:
echo (int)(-3.75); //echoes "-3";
echo floor(-3.75); //echoes "-4";
Если ваш ввод может быть только положительным числом с плавающей запятой, то, как уже упоминалось, пол работает.
floor(1.2)
Однако, если ваше целое число также может быть отрицательным, то floor может не дать вам того, что вы хотите: оно всегда округляется в меньшую сторону даже для отрицательных чисел. Вместо этого вы можете привести к int, как упоминалось в другом сообщении. Это даст вам правильный результат как для отрицательных, так и для положительных чисел.
(int)-1.2