본문 바로가기
Java

Java DecimalFormt의 올림, 내림, 반올림 적용

by Dokon Jang 2020. 7. 16.
반응형

Java 1.8에서 DecimalFormat을 적용했는데, 소숫점에서 반올림이 됩니다.

정확히는 어떤 버전까지인지는 기억이 나지 않지만 기본적으로 format 메소드를 호출하면 버림이었던 것 같은데, 반올림이 되고 있습니다.

아래의 코드를 보면 RoundingMode 지정하지 않으면 소숫점 3째자리가 반올림(HALF_UP)이 됩니다.

필요에 따라 올림(CEILING), 내림(DOWN), 반올림(HALF_UP)을 지정 후 사용하시길 바랍니다.

 

[소스]

DecimalFormat df = new DecimalFormat("0.##");
		
double d = 123.765;
System.out.println("기본(반올림) : " + d + " → " + df.format(d));

d = 123.761;
df.setRoundingMode(RoundingMode.CEILING);
System.out.println("올림 : " + d + " → " + df.format(d));

d = 123.767;
df.setRoundingMode(RoundingMode.DOWN);
System.out.println("버림 : " + d + " → " + df.format(d));

d = 123.765;
df.setRoundingMode(RoundingMode.HALF_UP);
System.out.println("반올림 : " + d + " → " + df.format(d));

[결과]

기본(반올림) : 123.765 → 123.77
올림 : 123.761 → 123.77
버림 : 123.767 → 123.76
반올림 : 123.765 → 123.77
반응형

댓글