>  기사  >  웹 프론트엔드  >  JavaScript Math.ceil 메소드(값을 반올림)_기본지식

JavaScript Math.ceil 메소드(값을 반올림)_기본지식

WBOY
WBOY원래의
2016-05-16 16:21:141711검색

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 메소드 오류인가요?
다음 예제를 실행해 보세요.

4d7dc9fc8a77fe4f4210a79564bb3d95 document.write( Math.ceil(2.1/0.7) ) 2cacc6d41bbb37262a98f745aa00fbf0 이 예제의 결과는 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() 메서드를 사용해야 합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.