정의 및 사용법
PHP에서 float(부동 소수점) 데이터 타입은 소수 부분을 포함할 수 있는 모든 숫자를 나타냅니다. 소수 부분은 소수점 이하 자릿수로 표현하거나, e 또는 E를 사용한 과학적 표기법(scientific notation)으로 나타낼 수 있습니다. 예를 들어 100을 과학적 표기법으로 표현하면 10e2가 됩니다.
float의 크기는 하드웨어 및 운영체제(OS) 플랫폼에 따라 달라지지만, 일반적으로 소수점 이하 14자리까지의 정밀도를 지원합니다.
문법(Syntax)
// 변수에 float 값 리터럴 할당 $var = 5327.496; // 표준 표기법 $var1 = 5.327496e3; // 과학적 표기법 $var2 = 5.327496E3; // 과학적 표기법 $var3 = 5_327.496; // 구분 기호 사용
가독성을 높이기 위해 숫자 리터럴에 "_"를 구분 기호로 사용할 수 있습니다. PHP 스캐너는 처리 과정에서 이 기호를 무시하므로 실제 값에는 영향을 주지 않습니다.
$var = 5_327.496; // 5327.496으로 처리됨
PHP 버전 요구 사항
구분 기호 "_"는 PHP 7.4.0부터 사용할 수 있습니다.
예제 1: 표준 표기법
다음 예제는 표준 표기법으로 float 리터럴을 선언하고 출력하는 방법을 보여줍니다.
<?php $var = 5327.496; echo $var . "\n"; ?>
출력 결과
5327.496
예제 2: 과학적 표기법
다음 예제는 과학적 표기법(e/E)을 사용하여 동일한 float 값을 표현합니다. 대소문자 구분 없이 동일한 결과를 얻을 수 있습니다.
<?php $var1 = 5.327496e3; echo $var1 . "\n"; $var2 = 5.327496E3; echo $var2 . "\n"; ?>
출력 결과
5327.496 5327.496
예제 3: 구분 기호 사용 (PHP 7.4.0 이상)
다음 예제는 가독성을 위해 구분 기호 "_"를 사용한 float 리터럴을 보여줍니다.
<?php $var3 = 5_327.496; echo $var3 . "\n"; ?>
출력 결과
5327.496
추가 팁: float 타입 확인하기
is_float() 함수를 사용하면 변수가 float 타입인지 손쉽게 확인할 수 있습니다. 또한 PHP_FLOAT_MAX(표현 가능한 최댓값), PHP_FLOAT_MIN(표현 가능한 최솟값), PHP_FLOAT_DIG(십진수 정밀도 자릿수)와 같은 사전 정의 상수를 활용하면 현재 환경의 float 특성을 파악할 수 있습니다.
<?php $x = 10.365; var_dump(is_float($x)); // bool(true) echo PHP_FLOAT_MAX; // float가 표현할 수 있는 최댓값 출력 ?>