반응형
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
반응형
'Java' 카테고리의 다른 글
Java - SQLite 데이터베이스 사용하기 (3) | 2021.02.01 |
---|---|
Java SQL 인젝션(SQL Injection) 해킹 방지를 위한 Escape 문자 변환 방법 (0) | 2021.01.22 |
이클립스에 Github 프로젝트 연동하기 (0) | 2019.12.15 |
JavaFX Webstart 배포하기 (1) | 2019.09.05 |
JavaFX Scece Builder 설치 및 이클립스 설정 (0) | 2019.09.05 |
댓글