0
입력에서 문자열로 오는 숫자가 있습니다. "450.021"
또는 "30"
일 수 있습니다. int
또는 float
인지 확인해야합니다. 어떻게해야합니까?int to float/float
나는 intval
으로 시도했지만 분명히 부동 숫자가 바닥에 깔려 있고 내 경우에는 도움이되지 않습니다.
입력에서 문자열로 오는 숫자가 있습니다. "450.021"
또는 "30"
일 수 있습니다. int
또는 float
인지 확인해야합니다. 어떻게해야합니까?int to float/float
나는 intval
으로 시도했지만 분명히 부동 숫자가 바닥에 깔려 있고 내 경우에는 도움이되지 않습니다.
매우 naiv 접근
foreach(["342.23", "30"] as $a) {
if((float)(int)$a === (float)$a) {
echo "int";
} else {
echo "float";
}
}
하지만 "340.0"를 분석 곳이 사례를 잡을 수 없습니다.
편집 : 파고 좀 더 :
foreach(["342.23", "30"] as $a) {
$is_float = filter_var($a, FILTER_VALIDATE_FLOAT);
$is_int = filter_var($a, FILTER_VALIDATE_INT);
if($is_float && $is_int) {
echo $a . " is Int";
} else if($is_float && !$is_int) {
echo $a . " is Float";
}
}
http://php.net/manual/en/function.is-float.php –
은 당신이 문자열을 검색 봤어이 PHP 매뉴얼을 읽기' .'? http://php.net/manual/en/function.strpos.php –
@PraveenM 아니요. 텍스트 인 경우이를 문자열로 허용해야합니다. – blako