Возможный дубликат: {echo 'float'; } еще {эхо "не плавать"; } и это эхо не плавать. Что может быть причиной спасибо
У меня есть это
$number = 0.5 if (is_float($number)) { echo 'float'; } else { echo 'not float'; }
, и это эхо не плавать. Что может быть причиной спасибо
Вероятно, $ number
на самом деле является строкой: «0,5»
.
См. Вместо этого is_numeric
. Семейство is _ *
проверяет фактический тип переменной. Если вам только то, что нужно знать, является ли переменная числом, независимо от того, действительно ли это int
, float
или строка
, используйте is_numeric
.
Если вам нужно, чтобы десятичная часть была ненулевой, вы можете сделать это:
//if we already know $number is numeric...
if ((int) $number == $number) {
//is an integer
}