33.16을 반환하도록 숫자 (33.1504352455)에 천장 기능을 수행하려고합니다. 물론 천정을 사용하면 34.0을 반환합니다. 천장이 움직이는 캐릭터를 어떻게 바꾸어서 33.16을 반환합니까?Java에서 Math.ceil 옮기기
0
A
답변
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;
을 시도 할 수 있었다 그러나 이것은 부동 소수점 연산의 변덕 대상이 될 수 있습니다.
가능한 중복 (http://stackoverflow.com/questions/153724/how-to-round-a-number ~ -n-decimal-places-in-java) –