我有这个
$number = 0.5
if (is_float($number))
{
echo 'float';
}
else
{
echo 'not float';
}
Run Code Online (Sandbox Code Playgroud)
并且它不会浮动.可能是什么原因,谢谢
Art*_*cto 41
可能$number实际上是一个字符串:"0.5".
见is_numeric来代替.该is_*族检查变量的实际类型.如果您只知道变量是否为数字,无论它实际上是a int,a float还是a string,都使用is_numeric.
如果你需要它有一个非零小数部分,你可以这样做:
//if we already know $number is numeric...
if ((int) $number == $number) {
//is an integer
}
Run Code Online (Sandbox Code Playgroud)
如果您只是检查 the.(dot)那么您不需要将typecast其作为字符串进行操作[strpos][1]()。
if (strpos($number,'.') !== false) {
echo 'true';
}else {
echo 'false';
}
Run Code Online (Sandbox Code Playgroud)