반응형
안녕하세요
자바로 프로그램을 개발하다보면 반올림, 올림, 내림을 해서 계산로직을 구현하는 경우가 굉장히 많습니다
특히 반올림과 내림은 자주 사용하죠
올림은 생각보다 많이 사용하는 경우가 없는 것 같아여...
이번 포스팅에서는 자바에서 숫자의 반올림, 올림, 내림 방법에 대해서 알아보겠습니다
목차
Int를 이용한 방법(버림)
String.Format 이용한 방법(반올림)
Math 클래스를 이용한 방법
Int를 이용한 방법(버림)
int는 소수점이 들어오면 자동으로 버림처리하여 데이터를 입력받습니다
int를 사용하여 버림처리를 할 수 있습니다
예제
public class Rounding {
public static void main(String[] args) {
int a = (int) 3.4;
int b = (int) 3.5;
int c = (int) 3.6;
System.out.println("a의 값은 = " + a);
System.out.println("b의 값은 = " + b);
System.out.println("c의 값은 = " + c);
}
}
결과
String.Format 이용한 방법(반올림)
String.format을 이용한 방법입니다
아래처럼 "%.소수점자릿수f"를 사용하면 소수점자릿수만큼 반올림한 결과를 보여줍니다
a : 소수점 첫째자리 반올림
b : 소수점 셋째자리 반올림
c : 소수점 넷째자리 반올림
한 결과가 나타납니다
public class Rounding {
public static void main(String[] args) {
String a = String.format("%.0f", 3.5);
String b = String.format("%.2f", 3.555555);
String c = String.format("%.4f", 3.121212);
System.out.println("a의 값은 = " + a);
System.out.println("b의 값은 = " + b);
System.out.println("c의 값은 = " + c);
}
}
결과
Math 클래스를 이용한 방법
Math 클래스를 이용하여 간단하게 반올림, 올림, 내림도 가능합니다
Math.round(값)
Math.ceil(값)
Math.floor(값)
을 사용하여 차례대로 반올림, 올림, 내림을 수행합니다
만약 소숫점 반올림/올림/내림을 하고 싶은 경우 원하는 자릿수의 배수만큼 곱한 값을 Math처리한 후 곱한만큼 나눠주시면 됩니다
public class Rounding {
public static void main(String[] args) {
double a = 3.123456789;
System.out.println("첫째 자리 반 올림 : " + Math.round(a));
System.out.println("둘째 자리 반 올림 : " + Math.round(a * 10) / 10.0);
System.out.println("첫째 자리 올림 : " + Math.ceil(a));
System.out.println("셋째 자리 올림 : " + Math.ceil(a * 100) / 100.0);
System.out.println("첫째 자리 버림 : " + Math.floor(a));
System.out.println("넷째 자리 버림 : " + Math.floor(a * 1000) / 1000.0);
}
}
결과
여기까지 자바의 소수점 반올림/올림/내림을 하는 방법에 대해서 알아봤습니다
상황에 따라서 위의 방법 중에 알맞은 방법을 사용하면 됩니다!
반응형
그리드형
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA/에러] No enclosing instance of type Overriding is accessible... 에러 해결 방법 (0) | 2021.05.16 |
---|---|
[JAVA] 표준입출력 System.in 클래스 (0) | 2021.05.15 |
[JAVA] java.lang.NumberFormatException 에러 해결 방법 (0) | 2021.05.13 |
[JAVA] 메서드(Method)란?? (0) | 2021.05.12 |
[JAVA] 이클립스 자동 줄 맞춤 (0) | 2021.05.10 |