Java 반올림, 내림, 올림 - round, ceil, floor






결과

결과





코드

public static void main(String[] args) {
		double num = 3.14;
		System.out.println("절대값 : " + Math.abs(num*-1));
		
		System.out.println("올림 : " + Math.ceil(num));
		System.out.println("내림 : " + Math.floor(num));
		
		System.out.println("반올림 : " + Math.round(num));
		System.out.println("소수점 아래 2째에서 반올림 : " + Math.round(num*10)/10.0);
	
	}





Math 메소드


int abs(int num) | double abs(double num) : 절대값을 얻는다.

- int형 double형 둘다 사용할 수 있다.


- 절대값이므로 양수일 때는 그대로며 음수일 때는 -1을 곱한 결과와 같다.





double ceil(double num) : 올림값을 얻는다.

- 올림값을 얻어 double형으로 리턴해준다.





double floor(double num) : 내림값을 얻는다.

- 내림값을 얻어 double형으로 리턴해준다.





long round(double num) : 반올림 값을 얻는다.

- 넘겨받은 값을 반올림하여 long형으로 리턴한다.


- round() 메소드는 항상 소수점 1째 자리에서 반올림해준다.


- 소수점 아래 n번 째에서 반올림을 시도하고자 한다면 먼저 10n-1를 곱해준 후 round로 반올림한다.

그리고 다시 10n-1을 나누어줌으로써 얻을 수 있다.


 주의할점으로는 round의 리턴형이 long이므로 이를 int형으로 나누어 버리면는 변수가 정수형이되어버린다.

따라서, 위에서 코드를 보면 10.0 나누어준 것처럼 Double형으로 나누어줌으로써 Double형으로 자동 형변환이 일어나도록하여야 소수점 아래 값들을 얻을 수 있다.





+ Recent posts