[java] Apache Commons Lang 을 사용하여 숫자를 내림하여 정수형으로 변환하는 방법

Apache Commons Lang은 자바 개발자들이 자주 사용하는 유용한 라이브러리 중 하나입니다. 이 라이브러리는 자바의 기본 라이브러리에서 제공하는 기능을 보완하고 다양한 유틸리티 클래스를 제공합니다.

여기서는 Apache Commons Lang을 사용하여 숫자를 내림하여 정수형으로 변환하는 방법을 알아보겠습니다.

1. Apache Commons Lang 라이브러리 추가하기

먼저, 프로젝트에 Apache Commons Lang 라이브러리를 추가해야 합니다. Maven 프로젝트인 경우 pom.xml 파일에 다음 의존성을 추가하세요.

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
</dependency>

Gradle 프로젝트인 경우 build.gradle 파일에 다음 종속성을 추가하세요.

implementation 'org.apache.commons:commons-lang3:3.11'

의존성을 추가한 후에는 import org.apache.commons.lang3.math.NumberUtils; 구문을 통해 NumberUtils 클래스를 사용할 수 있습니다.

2. 숫자를 내림하여 정수형으로 변환하기

NumberUtils 클래스의 toScaledBigDecimal 메서드를 사용하여 숫자를 내림하여 정수형으로 변환할 수 있습니다. 이 메서드는 double 또는 String 타입의 입력을 받아 내림하여 BigDecimal 객체로 반환하는 기능을 제공합니다.

import org.apache.commons.lang3.math.NumberUtils;

public class Main {
    public static void main(String[] args) {
        double number = 3.7;
        int roundedDown = NumberUtils.toScaledBigDecimal(number, 0, BigDecimal.ROUND_DOWN).intValue();
        System.out.println(roundedDown); // 3
    }
}

위의 코드는 number 변수에 할당된 값인 3.7을 내림하여 정수형으로 변환한 후 출력합니다. toScaledBigDecimal 메서드에 전달되는 세 번째 인수는 내림 기준을 설정하는데, 여기서는 BigDecimal.ROUND_DOWN을 사용하여 내림을 진행합니다.

만약 숫자를 String 타입으로 입력받고 싶다면, 다음과 같이 코드를 수정할 수 있습니다.

import org.apache.commons.lang3.math.NumberUtils;

public class Main {
    public static void main(String[] args) {
        String number = "6.9";
        int roundedDown = NumberUtils.toScaledBigDecimal(number, 0, BigDecimal.ROUND_DOWN).intValue();
        System.out.println(roundedDown); // 6
    }
}

이제 Apache Commons Lang을 사용하여 숫자를 내림하여 정수형으로 변환하는 방법을 알게 되었습니다. 이 라이브러리의 다양한 기능을 활용하면 개발 작업을 더 효율적으로 수행할 수 있습니다.

참고 자료