Java에서 소수점을 반올림하고, 고정 소수점을 0으로 표기하는 방법은 DecimalFormat 클래스를 사용하는 것이 일반적입니다
"0.000" 패턴을 사용하여 소수점 이하 3자리까지 표시하고, 네 번째 자리에서 반올림합니다.
- DecimalFormat 클래스를 사용하여 숫자의 형식을 지정합니다.
- "0.000" 패턴은 소수점 이하 3자리까지 표시하되, 값이 없을 경우 0으로 채웁니다.
- 네 번째 자리에서 반올림이 자동으로 수행됩니다.
import java.text.DecimalFormat;
public class RoundExample {
public static void main(String[] args) {
double number = 123.456789;
// DecimalFormat 인스턴스를 생성하고 형식을 지정합니다.
DecimalFormat df = new DecimalFormat("0.000");
// 형식에 맞게 숫자를 문자열로 포맷합니다.
String formattedNumber = df.format(number);
// 결과 출력
System.out.println(formattedNumber); // 123.457
}
}
위 예제를 실행하면 123.456789가 123.457로 반올림되어 출력됩니다.
반환 받을 타입이 float 인 경우
1. DecimalFormat과 Float 변환 사용 예제
import java.text.DecimalFormat;
public class RoundExample {
public static void main(String[] args) {
double number = 123.456789;
// DecimalFormat 인스턴스를 생성하고 형식을 지정합니다.
DecimalFormat df = new DecimalFormat("0.000");
// 형식에 맞게 숫자를 문자열로 포맷합니다.
String formattedNumber = df.format(number);
// 문자열을 float 타입으로 변환합니다.
float result = Float.parseFloat(formattedNumber);
// 결과 출력
System.out.println(result); // 123.457
}
}
2. BigDecimal 사용 예제
import java.math.BigDecimal;
import java.math.RoundingMode;
public class RoundExample {
public static void main(String[] args) {
double number = 123.456789;
// BigDecimal을 사용하여 반올림하고 소수점 3자리까지 표시합니다.
BigDecimal bd = new BigDecimal(number).setScale(3, RoundingMode.HALF_UP);
// float 타입으로 변환합니다.
float result = bd.floatValue();
// 결과 출력
System.out.println(result); // 123.457
}
}