[Java] 천단위 콤마, 쉼표 넣기
May 04, 2024
천단위 숫자마다 콤마(,)를 넣는 방법에 대해서 알아보겠습니다.
아래와 같이 숫자에, 읽기 쉽게 천단위 마다 쉼표를 추가하려고 합니다.
123456 -> 123,456
1234567 -> 1,234,567
1. DecimalFormat를 이용한 방법
double 자료형의 숫자를 천단위마다 쉼표를 넣고 문자열로 변경하는 예제입니다. 소수가 있는 경우, 소수 2자리까지 출력하도록 했습니다.
new DecimalFormat("#,###.00")
: 천단위마다 쉼표 추가, 소수 2자리의 숫자로 변환하는 포맷- 소수점 이하 숫자를 버리고 정수만 허용하려면
"#,###"
포맷을 사용하면 됨 decimalFormat.format(number)
: number에 포맷을 적용한 문자열 리턴
import java.text.DecimalFormat;
public class Example {
public static void main(String[] args) {
double number = 1234567.89; // 쉼표를 추가할 숫자
// 천 단위 쉼표, 소수는 두자리까지 출력
DecimalFormat decimalFormat = new DecimalFormat("#,###.00");
String formattedNumber = decimalFormat.format(number);
System.out.println("Result: " + formattedNumber);
}
}
Output:
Result: 1,234,567.89
2. String.format()을 이용한 방법
String.format(format, number)
로 숫자에 포맷을 적용할 수도 있습니다.
String.format("%,.2f", number)
: 포맷 적용한 문자열 리턴, 천단위마다 쉼표 추가, 소수 2자리까지String.format("%,.0f", number)
: 천단위마다 쉼표 추가, 소수는 버림
import java.text.DecimalFormat;
public class Example {
public static void main(String[] args) {
double number = 1234567.89; // 쉼표를 추가할 숫자
// 천 단위 쉼표, 소수는 두자리까지 출력
String formattedNumber = String.format("%,.2f", number);
System.out.println("Result: " + formattedNumber);
// 천 단위 쉼표, 소수는 모두 버림
formattedNumber = String.format("%,.0f", number);
System.out.println("Result: " + formattedNumber);
}
}
Output:
Result: 1,234,567.89
Result: 1,234,568
3. NumberFormat을 이용한 방법
NumberFormat는 특정 국가의 숫자 표현 방식으로 숫자 포맷을 변환합니다.
US의 숫자 포맷은 천단위 마다 쉼표를 추가하기 때문에, 이것을 이용하여 아래와 같이 변환할 수 있습니다.
import java.text.NumberFormat;
import java.util.Locale;
public class Example {
public static void main(String[] args) {
double number = 1234567.89; // 쉼표를 추가할 숫자
// US의 숫자 포맷은 천단위 마다 쉼표를 추가, 소수는 모두 허용
NumberFormat numberFormat = NumberFormat.getNumberInstance(Locale.US);
// number를 US 포맷을 적용하여 문자열 변환
String formattedNumber = numberFormat.format(number);
System.out.println("Result: " + formattedNumber);
}
}
Output:
Result: 1,234,567.89