정의 및 사용 방법
- PHP 버전
- 4+
is_float() 함수는
주어진 값이 부동소수점 숫자(float) 타입인지 확인합니다.
매개변수로 전달된 값이 부동소수점 숫자 타입이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
부동소수점 숫자(float) 타입은
소수점을 포함하는 숫자 값을 표현하는 데이터 타입입니다.
PHP에서는 정수나 문자열도 상황에 따라 숫자처럼 처리될 수 있지만, 부동소수점 타입 자체는 반드시 소수점을 포함한 숫자 또는 소수점이 포함된 숫자 연산에서의 숫자 결과입니다.
기본 예제
/* 부동 소수점 숫자 */
var_dump(is_float(3.14)); // bool(true)
var_dump(is_float(-10.5)); // bool(true)
var_dump(is_float(0.0)); // bool(true)
/* 정수 */
var_dump(is_float(1)); // bool(false)
var_dump(is_float(0)); // bool(false)
var_dump(is_float(-10)); // bool(false)
/* 문자열 */
var_dump(is_float('3.14')); // bool(false)
var_dump(is_float('0.0')); // bool(false)
/* 숫자 연산 결과 */
var_dump(is_float(1.0 + 2)); // bool(true)
var_dump(is_float(3 / 2)); // bool(true)
var_dump(is_float(5 + 2)); // bool(false)
/* 부동소수점 숫자의 산출 연산 결과는 float 타입으로 처리 */
var_dump(1 + 1.0); // float(2)
var_dump(is_float(1 + 1.0)); // bool(true)
var_dump(0.5 + 0.5); // float(1)
var_dump(is_float(0.5 + 0.5)); // bool(true)
var_dump(2 * 3.5); // float(7)
var_dump(is_float(2 * 3.5)); // bool(true)
/* 타입 캐스팅(Type Casting, 형 변환) */
var_dump(is_float((float) '3.14')); // bool(true)
var_dump(is_float((float) 1)); // bool(true)
참고하세요!
gettype() 함수는 주어진 값의 데이터 타입을 문자열로 반환합니다.
구문
is_float(mixed $value): bool
매개변수
$value |
필수. 부동소수점 숫자(float) 타입을 확인할 값입니다. |
|---|
반환 값
매개변수로 전달된 값이 부동소수점 숫자 타입이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
주의할 점
is_float() 함수를 사용할 때 몇 가지 주의해야 할 점이 있습니다.
문자열 '10.5'처럼 부동소수점 숫자를 나타내는 문자열은 false를 반환
$float = '10.5';
var_dump(is_float($float)); // bool(false)
10.0처럼 소수점 이하가 0으로 표현되더라도 true를 반환
$float = 10.0;
var_dump(is_float($float)); // bool(true)
PHP에서 부동소수점 숫자의 산출 연산 결과는 부동소수점 숫자(float) 타입으로 처리
$result = 0.5 + 0.5; // 1이 예상됨
var_dump($result); // float(1) => 정수(int) 타입 아님 주의!
var_dump(is_float($result)); // bool(true)
PHP에서 부동소수점 숫자의 산술 연산 결과는 기본적으로 부동소수점 숫자(float) 타입으로 처리됩니다. 또한, 부동소수점 숫자와 정수 등을 함께 연산하면 결과는 부동소수점 숫자로 자동 형변환이 이루어지게 됩니다.
$float_result = 6.0 / 2;
var_dump($float_result); // float(3)
활용 예제
is_float() 함수는 다음과 같은 경우에 사용하면 편리하거나 유용합니다.
변수가 부동소수점 숫자 타입인지 확인하는 경우
변수가 부동소수점 숫자인지 확인하려는 경우 사용됩니다. 예를 들어, 사용자 입력이나 외부 소스에서 받은 데이터의 타입을 확인할 때 유용합니다.
$value = 3.14;
if (is_float($value)) {
echo '이 값은 부동소수점 숫자입니다.';
} else {
echo '이 값은 부동소수점 숫자가 아닙니다.';
}
// 출력: '이 값은 부동소수점 숫자입니다.'
소수점의 출력 가독성 향상
부동소수점 숫자를 출력할 때 사용자에서 가독성을 향상시키키 위해 number_format()을 사용하여 특정한 소수점의 자리를 지정할 때 유용합니다. 예를 들어, 다음 코드는 $number가 숫자 타입이라는 가정하에 부동소수점 숫자타입인지 확인하고, 그렇다면 소수점 2자리까지 출력합니다.
$number = 3.1415926535;
if (is_float($number)) {
echo number_format($number, 2); // 출력: 3.14
} else {
echo $number;
}
이렇게 코드를 구성하면 입력 데이터가 부동소수점 숫자가 아닌 경우에는 원래의 값을 출력하게 됩니다. 따라서 가독성을 향상시키면서도 입력 데이터의 타입을 고려한 처리를 수행할 수 있습니다.
같이 보기
- PHP var_dump() 함수 – 변수의 타입·길이·값까지 출력
- PHP print_r() 함수 – 변수의 정보을 사람이 읽기 쉽게 출력
- PHP gettype() 함수 - 변수의 데이터 타입 확인
- PHP is_int() 함수 - 변수의 정수(integer) 타입 확인
- PHP is_bool() 함수 - 변수의 부울(boolean) 타입 확인
- PHP is_numeric() 함수 - 변수의 값이 숫자 또는 숫자 문자열인지 확인
- PHP is_string() 함수 - 변수의 문자열(string) 타입 확인
- PHP is_array() 함수 - 변수의 배열(array) 타입 확인
- PHP is_object() 함수 - 변수의 객체(object) 타입 확인
- PHP is_resource() 함수 - 변수의 리소스(resource) 타입 확인
- PHP is_null() 함수 - 변수의 NULL 타입 확인
- PHP ctype_digit() 함수 - 문자열이 모두 숫자인지 확인