Как удалить все числа после точки в PHP

пример: 1.123 => 1 1.999 => 1

спасибо.

6
задан lovespring 15 May 2010 в 17:45
поделиться

4 ответа

floor() 

округляет число до ближайшего целого.

РЕДАКТИРОВАТЬ: Как указано ниже Марком, это будет работать только для положительных значений, что является важным предположением. Для отрицательных значений вы захотите использовать ceil () , но проверка знака входного значения будет обременительной, и вы, вероятно, захотите использовать приведение Mark или TechnoP (int) идея взамен. Надеюсь, это поможет.

21
ответ дан 8 December 2019 в 02:05
поделиться
$y = 1.234;
list($y) = explode(".", "$y");
2
ответ дан 8 December 2019 в 02:05
поделиться
$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";
25
ответ дан 8 December 2019 в 02:05
поделиться

Если ваш ввод может быть только положительным числом с плавающей запятой, то, как уже упоминалось, пол работает.

floor(1.2)

Однако, если ваше целое число также может быть отрицательным, то floor может не дать вам того, что вы хотите: оно всегда округляется в меньшую сторону даже для отрицательных чисел. Вместо этого вы можете привести к int, как упоминалось в другом сообщении. Это даст вам правильный результат как для отрицательных, так и для положительных чисел.

(int)-1.2
2
ответ дан 8 December 2019 в 02:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: