Удаление всех десятичных знаков в PHP

получить это из моей базы данных:

252.587254564

Ну, я хочу удалить .587254564 и сохранить 252, как я могу это сделать?

Какую функцию я должен использовать, и вы можете показать мне пример?

Привет

Ответ 1

Вы можете сделать это в PHP:

round($val, 0);

или в инструкции MYSQL:

select round(foo_value, 0) value from foo

Ответ 2

Вы можете сделать просто приведение к int.

$var = 252.587254564;
$var = (int)$var; // 252

Ответ 3

В PHP вы бы использовали:

$value = floor($value);

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

Если бы вы хотели округлить это было бы:

$value = ceil($value);

ceil: возвращает следующее наибольшее целочисленное значение, округляя значение в случае необходимости.

Ответ 4

Как упоминал Tricker, вы можете округлить значение вниз, или вы можете просто передать его в int так:

$variable = 252.587254564; // this is of type double
$variable = (int)$variable; // this will cast the type from double to int causing it to strip the floating point.

Ответ 5

Вы можете просто перевести его на int:

$new = (int)$old;

Ответ 6

вы можете использовать echo (int) 252.587254564;

Ответ 7

И есть также не вполне целесообразный метод:

strtok($value, ".");

Это разрезы первой части, пока она не встретит точку. Результатом будет строка, а не целое число PHP. Хотя это не сильно влияет на результат, это не лучший вариант.

Ответ 8

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

$val = 252.587254564;

echo (int)$val; //252
echo round($val, 0); //253
echo ceil($val); //253


$val = 1234567890123456789.512345;

echo (int)$val; //1234567890123456768
echo round($val, 0);//1.2345678901235E+18
echo ceil($val); //1.2345678901235E+18


$val = 123456789012345678912.512345;

echo (int)$val; //-5670419503621177344
echo round($val, 0);//1.2345678901235E+20
echo ceil($val); //1.2345678901235E+20

Ответ 9

В MySQL вы можете использовать:

select floor(field)

или в PHP вы можете использовать:

floor($value);

Ответ 10

Преобразуйте число с плавающей точкой в строку, и используйте intval для преобразования его в целое число, что даст вам 1990

intval(("19.90"*100).'')