현재 위치: > 최신 기사 목록> Ceil ()가 int 대신 플로트가되는 것이 정상입니까?

Ceil ()가 int 대신 플로트가되는 것이 정상입니까?

M66 2025-06-30

PHP에서 CEIL () 함수는 위쪽으로 둥글게 사용하여 주어진 숫자보다 큰 최소 정수 값을 반환합니다. 많은 개발자들은 CEIL () 에 의해 반환 된 결과 유형이 예상 된 int가 아닌임을 알 수 있습니다. 이것은 정상입니까? 유형 변환 문제가 있습니까? 이 기사는 Ceil () 기능의 반환 유형과 그 이유를 분석합니다.

1. CEIL () 함수의 정의 및 반환 유형

공식 PHP 문서에 따르면 CEIL () 함수의 정의는 다음과 같습니다.

 float ceil(float $value)

이것은 Ceil ()가 부동 소수점 매개 변수를 가져 와서 부동 소수점 번호를 반환한다는 것을 의미합니다. 샘플 코드 :

 <?php
$num = 3.14;
$result = ceil($num);
var_dump($result); // 산출 float(4)
?>

산출:

 float(4)

결과는 정수 4이지만 데이터 유형은 플로트입니다.

2. 왜 ceil ()가 int 대신 플로트를 반환합니까?

PHP의 설계는 Ceil () 의 반환 값이 항상 부동 소수점 번호라고 결정하기 때문입니다. Ceil () 의 논리는 반올림 작업이지만 반환 유형은 플로트로 유지되므로 일관성을 후속 수학 연산 또는 부동 소수점 번호와 혼합 한 계산에서 유지할 수 있습니다.

예를 들어:

 <?php
$num = 7.1;
echo ceil($num) + 1.5;  // 결과는입니다 9.5
?>

CEIL () 가 int를 반환하면 PHP는 계산 프로세스 중에 int를 플로트로 변환 한 다음 플로팅 포인트 첨가를 수행하여 플로트를 반환하여 불필요한 유형 변환을 피할 수 있습니다.

3. Ceil () 의 결과를 정수로 변환하는 방법은 무엇입니까?

정수 유형이 명시 적으로 필요한 경우 cast 또는 intval () 함수를 사용할 수 있습니다.

 <?php
$num = 4.7;
$ceil_float = ceil($num);       // float(5)
$ceil_int = (int) $ceil_float;  // int(5)
var_dump($ceil_int);
?>

이것은 순수한 정수 유형을 제공합니다.

4. 실제 사례 데모

 <?php
// 시험 ceil() 반환 유형
$value = 5.3;
$result = ceil($value);
echo "ceil({$value}) = {$result}\n";    // 나오십시오 6
echo "유형은입니다: " . gettype($result) . "\n"; // 유형은입니다 float

// 캐스트 int
$int_result = (int) $result;
echo "캐스트 int 后유형은입니다: " . gettype($int_result) . "\n";  // int
?>

산출:

 ceil(5.3) = 6
유형은입니다: double
캐스트 int 后유형은입니다: integer

5. 요약

  • CEIL () 함수의 반환 값 유형은 Float이며 PHP 설계에서 정상적인 동작입니다.

  • 리턴 값이 정수 값이더라도 데이터 유형은 여전히 ​​플로트입니다.

  • 정수 유형이 필요한 경우 (int) 또는 intval ()을 캐스트 할 수 있습니다.

  • 플로트 유형을 유지하면 부동 소수점과 정수 사이의 여러 유형 변환을 피하여 컴퓨팅 성능을 향상시킵니다.