JavaScript Math.ceil 메소드
Math.ceil 메소드는 값을 반올림하는 데, 즉 해당 값보다 크거나 같은 가장 작은 정수를 얻는 데 사용됩니다. 구문은 다음과 같습니다.
Math.ceil(x)
매개변수 설명:
参数 | 说明 |
---|---|
x | 必需。必须是一个数值。 |
팁: 이 방법은 Math.floor 방법과 정반대입니다.
Math.ceil 메소드 인스턴스
<script language="JavaScript"> document.write( Math.ceil(0.35) + "<br />" ); document.write( Math.ceil(10) + "<br />" ); document.write( Math.ceil(-10) + "<br />" ); document.write( Math.ceil(-10.1) ); </script>
이 예제를 실행하면 다음이 출력됩니다.
1
10
-10
-10
Math.ceil 메소드 오류인가요?
다음 예제를 실행해 보세요.
이 예제의 결과는 3(2.1/0.7= 3)입니다. , 그러나 4. 이것은 분명히 우리의 상식에 어긋나는 것입니다. Math.ceil 메소드의 오류입니까?
실제 상황은 2.1/0.7을 계산할 때 부동소수점 숫자로 처리되는 것입니다. 이진법으로 인해 컴퓨터는 부동 소수점 숫자로 완전히 정확할 수 없습니다(즉, 일반적으로 약간의 진행이 손실됩니다). 따라서 2.1/0.7의 계산 결과는 정확히 3이 아니라 3보다 약간 높습니다(대략적으로). : 3.00000000000000044409) . 따라서 Math.ceil()이 이 표현식에 적용된 후 결과는 4 입니다.
ceil 함수가 정확하지 않은 문제에 대해서는 "부정확한 PHP 부동 소수점 계산 비교 및 반올림에 대한 해결 방법" 기사에서도 언급한 적이 있는데, PHP 함수에서 Round()를 사용하여 편리하게 처리할 수 있습니다. 하지만 자바스크립트의 Math.round()는 너무 거칠기 때문에 이런 상황을 처리하려면 별도의 함수를 작성해야 합니다. 즉, 소수점 1자리 이하의 초과된 값을 모두 제거한 후 Math.ceil() 메서드를 사용해야 합니다.