Обнаружить круглое число в PHP? - PullRequest
6 голосов
/ 28 февраля 2010

Как я могу узнать, является ли число с плавающей точкой в ​​PHP круглым числом?

is_round(1.5); // false
is_round(1.0); // true
is_round(1.00000001); // false

Ответы [ 5 ]

14 голосов
/ 28 февраля 2010

Модификация кода Роба в отношении комментария стерофрога. Проверяет код, чтобы убедиться, что значение также является числовым.

function is_round($value) {
    return is_numeric($value) && intval($value) == $value;
}
6 голосов
/ 28 февраля 2010
function is_round( $value ) {
    return intval( $value ) == $value;
}
2 голосов
/ 23 августа 2014

Гораздо более короткая версия: !fmod($num,1) в PHP или эта в JS: !($num % 1)

Как (более читаемая) функция:

function is_round( $num ) {
  return !fmod($num, 1);
}

Это работает на основе того, что любое число, которое не является точно 0, является ложным. Вы можете использовать fmod($num,1), чтобы получить десятичные числа числа; если у вас есть такие, вы можете просто ! их.

0 голосов
/ 27 октября 2013
if ($value = round($value))

Должно работать.

0 голосов
/ 28 февраля 2010

Функция, указанная на этой странице thierryreeuwijk, должна указывать ваши потребности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...