자바 Math 클래스에서 실수값 반올림이나 올림, 버림, 절대값을 구해주는 메서드가 있다.
반올림
static long Math.round(double a)
static int Math.round(float a)
예) System.out.println(Math.round(100.56)); //결과: 101
올림
static double ceil(double a)
예) System.out.println(Math.ceil(100.56)); //결과: 101.0
버림
static double floor(double a)
예) System.out.println(Math.floor(100.56)); //결과: 100.0
절대값
static double abs(double a)
static float abs(float a)
static int abs(int a)
static long abs(long a)
예) System.out.println(Math.abs(-100.56)); //결과: 100.56
참고로 소수 둘째자리에서 반올림을 하고 싶다고 하면 아래와 같이 응용한다.
double a = 100.22516;
double b = Math.round(a*100d) / 100d;
System.out.println(b); //결과: 100.23
원리는 차근차근 따라해 보면 쉽다.
일반 round() 메서드는 소수첫째자리에서 반올림 되기때문에 내가 반올림 하고자하는 자리수가 첫번째 소수점자리가 되도록 10 제곱을 곱해준다.
즉, 소수 2번째 자리까지 구하기 때문에 a에 10^2 하게되면 10022.516이 된다.
여기에서 반올림 한후 다시 나눈만큼 곱해주면 원래 소수 자리로 복원되게 된다.
다른 방법으로는 서식출력이 가능한 표준출력 메서드를 이용한 방법이다.
double a = 100.22516;
System.out.printf("%.2f",a); //결과 100.23
소수 둘째자리 실수로 반올림하여 출력하는 메서드이다.
반올림
static long Math.round(double a)
static int Math.round(float a)
예) System.out.println(Math.round(100.56)); //결과: 101
올림
static double ceil(double a)
예) System.out.println(Math.ceil(100.56)); //결과: 101.0
버림
static double floor(double a)
예) System.out.println(Math.floor(100.56)); //결과: 100.0
절대값
static double abs(double a)
static float abs(float a)
static int abs(int a)
static long abs(long a)
예) System.out.println(Math.abs(-100.56)); //결과: 100.56
참고로 소수 둘째자리에서 반올림을 하고 싶다고 하면 아래와 같이 응용한다.
double a = 100.22516;
double b = Math.round(a*100d) / 100d;
System.out.println(b); //결과: 100.23
원리는 차근차근 따라해 보면 쉽다.
일반 round() 메서드는 소수첫째자리에서 반올림 되기때문에 내가 반올림 하고자하는 자리수가 첫번째 소수점자리가 되도록 10 제곱을 곱해준다.
즉, 소수 2번째 자리까지 구하기 때문에 a에 10^2 하게되면 10022.516이 된다.
여기에서 반올림 한후 다시 나눈만큼 곱해주면 원래 소수 자리로 복원되게 된다.
다른 방법으로는 서식출력이 가능한 표준출력 메서드를 이용한 방법이다.
double a = 100.22516;
System.out.printf("%.2f",a); //결과 100.23
소수 둘째자리 실수로 반올림하여 출력하는 메서드이다.
'프로그래밍_Programing > Java' 카테고리의 다른 글
자바의 정규표현식(Regexp) (0) | 2015.01.21 |
---|---|
Java 문자열 함수 (0) | 2014.10.08 |