SeouliteLab

[Java/자바] 숫자에 3자리마다 콤마(,) 찍는 방법과 예제 코드 본문

프로그래밍

[Java/자바] 숫자에 3자리마다 콤마(,) 찍는 방법과 예제 코드

Seoulite Lab 2024. 3. 13. 08:11

Java에서 숫자에 3자리마다 콤마를 찍는 방법은 여러 가지가 있습니다. 아래는 몇 가지 예제 코드와 함께 자세히 설명하겠습니다.

예제 1: DecimalFormat 클래스 사용

import java.text.DecimalFormat;

double number1 = 1000000.50;
DecimalFormat formatter1 = new DecimalFormat("#,###.##");
String formattedNumber1 = formatter1.format(number1);
System.out.println(formattedNumber1); // 출력 결과: 1,000,000.5

DecimalFormat 클래스를 사용하여 숫자를 형식화하고 콤마를 추가했습니다. 패턴 "#,###.##"은 3자리마다 콤마를 찍고 소수점 이하 두 자리까지 표시하는 것을 나타냅니다.

예제 2: String.format 메서드 사용

double number2 = 1234567.89;
String formattedNumber2 = String.format("%,.2f", number2);
System.out.println(formattedNumber2); // 출력 결과: 1,234,567.89

String.format 메서드를 사용하여 숫자를 형식화하고 콤마를 추가했습니다. "%,.2f" 패턴은 소수점 이하 두 자리까지 표시하고 3자리마다 콤마를 찍는 것을 나타냅니다.

예제 3: NumberFormat 클래스 사용

import java.text.NumberFormat;
import java.util.Locale;

double number3 = 9876543.21;
NumberFormat formatter3 = NumberFormat.getNumberInstance(Locale.US);
String formattedNumber3 = formatter3.format(number3);
System.out.println(formattedNumber3); // 출력 결과: 9,876,543.21

NumberFormat 클래스를 사용하여 숫자를 형식화하고 콤마를 추가했습니다. Locale.US를 사용하여 미국식 형식을 지정했습니다.

예제 4: StringBuilder를 활용한 직접 구현

double number4 = 8765432.10;
StringBuilder sb = new StringBuilder();
sb.append(String.format("%.2f", number4));
sb.insert(sb.length() - 6, ',');
sb.insert(sb.length() - 10, ',');
System.out.println(sb.toString()); // 출력 결과: 8,765,432.10

StringBuilder를 사용하여 숫자를 형식화하고 직접 콤마를 추가했습니다.

예제 5: 정규식을 활용한 문자열 처리

double number5 = 6543210.50;
String formattedNumber5 = String.valueOf(number5);
formattedNumber5 = formattedNumber5.replaceAll("(\\d)(?=(\\d{3})+(?!\\d))", "$1,");
System.out.println(formattedNumber5); // 출력 결과: 6,543,210.5

정규식을 사용하여 문자열에서 3자리마다 콤마를 추가했습니다.

예제 6: Apache Commons Lang 라이브러리 사용

import org.apache.commons.lang3.StringUtils;

double number6 = 543210.75;
String formattedNumber6 = StringUtils.formatNumber(number6, ",", ".");
System.out.println(formattedNumber6); // 출력 결과: 543,210.75

Apache Commons Lang 라이브러리의 StringUtils 클래스를 사용하여 숫자를 형식화하고 콤마를 추가했습니다.