2016-09-23 2 views
0

33.16을 반환하도록 숫자 (33.1504352455)에 천장 기능을 수행하려고합니다. 물론 천정을 사용하면 34.0을 반환합니다. 천장이 움직이는 캐릭터를 어떻게 바꾸어서 33.16을 반환합니까?Java에서 Math.ceil 옮기기

+0

가능한 중복 (http://stackoverflow.com/questions/153724/how-to-round-a-number ~ -n-decimal-places-in-java) –

답변

2

더 나은 정밀도를 위해 항상 BigDecimal을 선택하십시오. 당신은 그것을 좋아 할 수있는 :

BigDecimal b = new BigDecimal(33.1504352455); 
b = b.setScale(2, RoundingMode.CEILING) 
System.out.println(b); 
[자바에서 n 개의 소수 자릿수로 숫자를 반올림하는 방법]의
2

당신은

number = Math.ceil(oldnumber * 100)/100.0; 

을 시도 할 수 있었다 그러나 이것은 부동 소수점 연산의 변덕 대상이 될 수 있습니다.