2013-01-08 1 views
0

간단한 계산에 ceil을 Math.ceil으로 사용하고 싶습니다. 그러나 Math.ceil(3/2)은 1.0을 제공하지만 Math.ceil(1.5)은 2.0을 제공합니다. 왜 이럴까요? 3/2의 천장 작동을 2.0으로 설정해야할까요?한 ceil 함수가 다른 답변을 제공하는 이유는 무엇입니까?

+4

은 첫 번째 정수에서 정수를 나눌 수 없으므로? 정수의 3/2는 1입니까? – SomeJavaGuy

+2

'3/2'는 정수 나누기로, 결과는 1입니다. – nhahtdh

+0

@KevinEsche and nhahtdh : braindead 지금 막) 바보 같은 질문을 삭제해야합니까? ... – monica

답변

7

3/2은 정수로 나뉘기 때문에 첫 번째 경우는 Math.ceil(1)과 같습니다.

1

3/2는 int를 반환하므로 부동 값을 전달하지 않습니다. 하지만 (1.5)는 플로트 타입입니다. 자바
2분의 3 = 1 Math.ceil (1) = 1.0
그래서 Math.ceil (3/2)을 1.0 반환되도록.
및 Math.ceil (1.5)는 2.0을 반환합니다.

관련 문제