728x90
코드를 짜다보면 숫자를 올림, 내림처리를 해야할 경우가 종종 있다.
다양한 방법이 있고, 상황에 따라 다르게 써야 할 경우도 있을것이기 때문에 기록을 남긴다.
1. Math 라이브러리
자바 표준 라이브러리에는 Math
가 있다.
Math
는 수학적인 기능을 수행하는 메서드들을 모아 놓은 클래스라고 보면 된다.
- 반올림 (round)
Math.round(float a): int 타입 결과 반환
Math.round(double a): long 타입 결과 반환
예를 들어 Math.round(3.75)는 4를 반환하고, Math.round(3.49)는 3을 반환한다.
//
- 내림 (floor)
Math.floor(double a): double 타입 결과 반환
예를 들어 Math.floor(3.95) 는 3.0을 반환한다.
// 정수로 쓰고 싶으면 int val = (int) Math.floor(3.95); 처럼 형변환을 해주면 된다.
- 올림 (ceil)
Math.ceil(double a): double 타입 결과 반환
예를 들어 Math.ceil(3.17)는 4.0을반환한다.
// 정수로 쓰고 싶다면 int val = (int) Math.ceil(3.1); 형식으로 형변환을 한다.
2. BigDecimal 클래스 사용하기
BigDecimal value = new BigDecimal("123.4567");
// 소수 둘째 자리까지 반올림
BigDecimal roundValue = value.setScale(2, RoundingMode.HALF_UP); // 123.46
// 소수 첫째 자리까지 내림
BigDecimal floorValue = value.setScale(1, RoundingMode.DOWN); // 123.4
BigDecimal은 정확한 숫자를 구할때 사용한다.
자세한 내용은 아래 블로그에 기록해 두었다.
2023.01.03 - [자바] - [JAVA] BigDecimal
728x90
'자바' 카테고리의 다른 글
[JAVA] orcle JDK와 open JDK의 차이 (0) | 2025.02.28 |
---|---|
[JAVA] JDK 여러 버전 사용하기 (0) | 2025.02.28 |
[JAVA] 정규 표현식 (0) | 2024.10.17 |
[JAVA] 자동 정렬해주는 Map TreeMap (0) | 2024.04.30 |
[JAVA] 반복자 Iterator을 사용해 컬렉션(List, Set, Map) 순회하기 (0) | 2023.11.15 |