Notice
Recent Posts
Recent Comments
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- RaspberryPi
- react
- error
- Android
- Spring
- Java
- Shell
- jetbrains
- IntelliJ
- kotlin
- rubymine
- ruby
- Godot
- Python
- boj
- C
- maven
- gradle
- OAuth
- CPP
- Baekjoon
- 개발노트
- Vane
- gnuplot
- OTLanguage
- plugin
- JS
- ruby2d
- 루비
- GitHub
Archives
- Today
- Total
PersesTitan(페르) 기술블로그
[Java][BigDecimal] RoundingMode 올림, 반올림, 내림 구현하기 본문
HALF_UP(반올림)
예시 코드
BigDecimal a1 = new BigDecimal("10");
BigDecimal a2 = new BigDecimal("3");
BigDecimal b1 = new BigDecimal("10");
BigDecimal b2 = new BigDecimal("6");
System.out.println(a1.divide(a2, 2, RoundingMode.HALF_UP));
System.out.println(b1.divide(b2, 2, RoundingMode.HALF_UP));
출력
본래 값
- 1.66666666666666....
- 3.33333333333333....
3.33
1.67
초기값결과
| 5.5 | 5 |
| 2.5 | 2 |
| 1.6 | 2 |
| 1.1 | 1 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -1 |
| -1.6 | -2 |
| -2.5 | -2 |
| -5.5 | -5 |
UP(올림)
예시 코드
BigDecimal a1 = new BigDecimal("10");
BigDecimal a2 = new BigDecimal("3");
BigDecimal b1 = new BigDecimal("10");
BigDecimal b2 = new BigDecimal("6");
System.out.println(a1.divide(a2, 2, RoundingMode.UP));
System.out.println(b1.divide(b2, 2, RoundingMode.UP));
출력
본래 값
- 1.66666666666666....
- 3.33333333333333....
3.34
1.67
초기값결과
| 5.5 | 5 |
| 2.5 | 2 |
| 1.6 | 1 |
| 1.1 | 1 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -1 |
| -1.6 | -1 |
| -2.5 | -2 |
| -5.5 | -5 |
DOWN(내림)
예시 코드
BigDecimal a1 = new BigDecimal("10");
BigDecimal a2 = new BigDecimal("3");
BigDecimal b1 = new BigDecimal("10");
BigDecimal b2 = new BigDecimal("6");
System.out.println(a1.divide(a2, 2, RoundingMode.DOWN));
System.out.println(b1.divide(b2, 2, RoundingMode.DOWN));
출력
본래 값
- 1.66666666666666....
- 3.33333333333333....
3.33
1.66
초기값결과
| 5.5 | 6 |
| 2.5 | 3 |
| 1.6 | 2 |
| 1.1 | 2 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -1 |
| -1.6 | -1 |
| -2.5 | -2 |
| -5.5 | -5 |
HALF_DOWN(음수 기준 반올림)
예시 코드
BigDecimal a1 = new BigDecimal("-10");
BigDecimal a2 = new BigDecimal("3");
BigDecimal b1 = new BigDecimal("-10");
BigDecimal b2 = new BigDecimal("6");
System.out.println(a1.divide(a2, 2, RoundingMode.HALF_DOWN));
System.out.println(b1.divide(b2, 2, RoundingMode.HALF_DOWN));
출력
본래값
- -3.3333333333333333333...
- -1.6666666666666666666...
-3.33
-1.67
초기값결과
| 5.5 | 6 |
| 2.5 | 2 |
| 1.6 | 2 |
| 1.1 | 1 |
| 1.0 | 1 |
| -1.0 | -1 |
| -1.1 | -1 |
| -1.6 | -2 |
| -2.5 | -2 |
| -5.5 | -6 |
'Language > Java' 카테고리의 다른 글
| [Java] IllegalAccessException (0) | 2023.03.12 |
|---|---|
| [Java] InstantiationException (0) | 2023.03.12 |
| [Java] Double값이 정수인지 확인하기 (0) | 2022.12.28 |
| [Java] 한글 에디터 개발 (뷁어, 모음자음 분리, 영어 발음 한글로 변경 등) (0) | 2022.11.27 |
| [GuguClass]구구클래스 한줄로 구현해보기 (0) | 2022.11.24 |