반응형
public class CordJgMathEx {
public static void main(String[] args) {
double num = 10.19;
double half = Math.round(num);
double up = Math.ceil(num);
double down = Math.floor(num);
double[] arr = {half, up, down};
for(int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
}
//출력
10.0
11.0
10.0
Math.round = 소수점 첫째 자리에서 반올림
Math.ceil = 올림
Math.floor = 내림
Math.round 는 소수점 첫째 자리에서 반올림을 합니다.
그렇다면 소수점 첫자리까지 표현을 하고 싶다면 어떻게 해야 할까요?
위의 코드에서 num 은 10.19를 나타내고 있습니다.
Math.round(num)을 통해 소수점 첫째 자리에서 반올림이 되어
Math.round(num)을 나타내는 half 값이 10.0으로 표현됩니다.
그렇다면 num에 10을 곱해서 Math.round를 하면 어떻게 될까요
Math.round(101.9) => 102.0
그리고 이 값을 10.0으로 나누게 되면 10.2가 되어 원하던 소수점 첫째짜리까지의 값을 얻을 수 있습니다.
half = (Math.round(num*10)/10.0);
System.out.println(half);
half = (Math.round(num*100)/100.0);
System.out.println(half);
//출력
10.2
10.19
만약 원하는 게 소수점 첫째자리가 아닌 둘째 자리라면 10이 아닌 100을 곱한 뒤 100.0으로 나눠주시면 됩니다.
반응형
'Java > Simple code' 카테고리의 다른 글
Java Math.sqrt 없이 제곱근 구하기 (바빌로니아 법) (0) | 2023.01.26 |
---|---|
Java 알고리즘 재귀함수에 대한 고민과 기록 (0) | 2023.01.25 |
Java 제네릭(Generic) 메서드 (0) | 2023.01.23 |
Java_제네릭(Generic) 클래스 (0) | 2023.01.23 |
Java Stream collect() (0) | 2023.01.23 |