-
-
소수점 처리, 특히 "소수점 이하를 버린다"는 작업은 자주 필요한 기능 중 하나입니다. 예를 들어, 계산 결과를 화면에 출력할 때 소수점 이하 자리를 없애고 싶을 때가 있죠. 자바에서는 이런 소수점 버림 작업을 다양한 방법으로 처리할 수 있습니다. 오늘은 그 방법들을 하나씩 알아보겠습니다.
1. Math.floor()로 소수점 버리기
첫 번째로 소개할 방법은 Math.floor()입니다. Math.floor()는 주어진 숫자보다 작거나 같은 가장 큰 정수로 내림을 해주는 메서드입니다. 즉, 소수점 이하를 버리고, 가장 가까운 정수로 내리는 거죠.
public class Main {
public static void main(String[] args) {
double number = 3.14159;
double result = Math.floor(number);
System.out.println(result); // 3.0
}
}
위 코드에서처럼 3.14159를 Math.floor()에 넘기면, 결과는 3.0이 나옵니다. 이때 반환 값은 double 타입이기 때문에, 소수점은 사라졌지만, 타입은 여전히 double이에요.
2. (int) 형변환으로 소수점 버리기
두 번째 방법은 간단하게 (int) 형변환을 사용하는 방법입니다. 이 방법은 소수점 이하를 버리고 정수 부분만 얻고 싶을 때 유용합니다.
public class Main {
public static void main(String[] args) {
double number = 3.14159;
int result = (int) number;
System.out.println(result); // 3
}
}
위와 같이 (int)로 형변환을 하면, 소수점 이하가 자연스럽게 버려지고 정수 부분만 남게 됩니다. 이 방법은 double 또는 float을 정수 타입으로 변환할 때 아주 유용하죠. 다만, 반환값은 int 타입으로 변환되니 주의해야 합니다.
3. DecimalFormat으로 소수점 자리수 제한하기
세 번째 방법은 DecimalFormat 클래스를 활용하는 방법입니다. DecimalFormat을 사용하면 소수점 이하의 자릿수를 세밀하게 제어할 수 있고, 원하는 형식대로 숫자를 출력할 수 있어요.
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
double number = 3.14159;
DecimalFormat df = new DecimalFormat("#");
System.out.println(df.format(number)); // 3
}
}
이 코드에서 DecimalFormat("#")는 소수점 이하 자리를 모두 버리고 정수만 표시하겠다는 뜻입니다. 패턴을 "#"로 지정하면 소수점 이하 자리를 모두 없애고 정수만 반환됩니다. 이 방법은 출력 형식이 중요할 때 유용하게 쓸 수 있습니다.
4. BigDecimal로 정확한 소수점 처리하기
마지막으로 소개할 방법은 BigDecimal을 사용하는 방법입니다. BigDecimal은 고정 소수점 계산에서 아주 정확한 결과를 도출해주기 때문에, 소수점 이하를 어떻게 처리할지 세밀하게 제어할 수 있습니다.
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main {
public static void main(String[] args) {
double number = 3.14159;
BigDecimal bd = new BigDecimal(number);
bd = bd.setScale(0, RoundingMode.DOWN); // 소수점 이하 버림
System.out.println(bd); // 3
}
}
여기서 setScale(0, RoundingMode.DOWN)은 소수점 이하를 버리고 정수만 남기도록 설정하는 방법입니다. BigDecimal은 매우 정밀한 계산을 할 수 있어, 큰 숫자나 고정밀도가 필요한 계산에서 많이 사용됩니다.
자바에서 소수점 이하를 버리는 방법은 생각보다 여러 가지가 있습니다.
- Math.floor(): 내림을 해서 소수점 이하를 버립니다.
- 형변환 (int): 간단히 정수로 변환해서 소수점 이하를 버립니다.
- DecimalFormat: 출력 형식을 세밀하게 제어하며 소수점 이하를 버립니다.
- BigDecimal: 정밀한 소수점 처리가 필요할 때 사용하며, 소수점 이하를 정확하게 버립니다.
각각의 방법은 상황에 따라 적합하게 사용할 수 있기 때문에, 원하는 처리 방식에 맞춰 선택하면 됩니다. 여러분도 다양한 방법을 실습하면서 자신에게 맞는 방법을 찾아보세요!
'프로그래밍 > Back-end' 카테고리의 다른 글
자바에서 소수점 올림과 반올림 처리하는 다양한 방법 (0) | 2024.11.16 |
---|---|
Java에서 정규식(Regex) 사용법과 메타문자 소개 (0) | 2024.11.15 |
자바에서 서버의 호스트명을 가져오는 방법 (0) | 2024.11.13 |
자바에서 경로 다루기: File, Request, Session을 활용한 경로 처리 방법 (0) | 2024.11.12 |
자바 AWS SNS ( Amazon Simple Notification Service ) ! 아마존 문자 서비스 구현 ! (0) | 2024.10.25 |
자바 AWS SES ( Amazon Simple Email Service ) 아마존 이메일 서비스 구현 ! (0) | 2024.10.25 |
JPA 쿼리 JPQL 벌크 연산 (0) | 2024.10.24 |
JPA 쿼리 패치 조인 JPQL FETCH JOIN (0) | 2024.10.24 |