Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP 부동 소수점(Float) 데이터 타입 완벽 정리

정의 및 사용법

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가 표현할 수 있는 최댓값 출력
?>