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 |
Tags
- gradle
- error
- C
- Baekjoon
- CPP
- ruby
- RaspberryPi
- maven
- Godot
- Python
- boj
- IntelliJ
- gnuplot
- 루비
- ruby2d
- jetbrains
- OTLanguage
- OAuth
- kotlin
- Shell
- rubymine
- GitHub
- Vane
- plugin
- 개발노트
- Java
- Spring
- Android
- react
- JS
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 |