Formatter
Java에서는 java.util 패키지의 일부인 Formatter 클래스를 사용하여 문자열 형식을 지정할 수 있습니다. Formatter 클래스를 사용하면 값에 대한 자리 표시자를 지정한 다음 해당 자리 표시자를 실제 값으로 채워 서식이 지정된 문자열을 만들 수 있습니다. 자리 표시자는 형식 지정자를 사용하여 정의되며 너비, 정밀도, 정렬 등 서식의 다양한 측면을 제어할 수 있습니다.
다음은 Java의 Formatter 클래스를 사용한 문자열 형식 지정에 대한 자세한 설명과 예제입니다.
기본 형식 지정자
- %s : 문자열 형식입니다.
- %d : 10진수(정수)로 형식화합니다.
- %f : 부동 소수점 숫자 형식입니다.
- %c : 문자 형식입니다.
- %b : 부울 형식으로 지정됩니다.
- %n : 플랫폼별 줄 구분 기호(예: 줄 바꿈).
문자열 형식 지정
String name = "Alice";
int age = 30;
String formattedString = String.format("Name: %s, Age: %d", name, age);
System.out.println(formattedString); // Output: Name: Alice, Age: 30
부동 소수점 숫자 서식 지정
double price = 19.99;
String formattedPrice = String.format("Price: %.2f", price);
System.out.println(formattedPrice); // Output: Price: 19.99
이 예에서 %.2f는 부동 소수점 숫자가 소수점 이하 2자리로 형식화되어야 함을 지정합니다.
너비로 정수 형식 지정
int quantity = 5;
String formattedQuantity = String.format("Quantity: %3d", quantity);
System.out.println(formattedQuantity); // Output: Quantity: 5
여기서 %3d는 정수가 3자 너비로 형식화되어야 함을 지정합니다.
날짜 및 시간 형식 지정
import java.util.Date;
import java.text.SimpleDateFormat;
Date currentDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
String formattedDate = String.format("Current Date: %s", dateFormat.format(currentDate));
System.out.println(formattedDate); // Output: Current Date: 09/01/2023
이 예에서는 먼저 SimpleDateFormat을 사용하여 Date 개체의 형식을 지정한 다음 형식이 지정된 문자열에 포함합니다.
왼쪽 정렬
String text = "Hello";
String leftAligned = String.format("%-10s", text);
System.out.println(leftAligned); // Output: Hello
%-10s는 너비가 10자인 왼쪽 정렬을 지정합니다.
제로 패딩
int number = 42;
String zeroPadded = String.format("%05d", number);
System.out.println(zeroPadded); // Output: 00042
%05d는 5자 너비의 제로 패딩을 지정합니다.
인수 인덱스
String firstName = "Alice";
String lastName = "Smith";
String formattedName = String.format("%2$s, %1$s", firstName, lastName);
System.out.println(formattedName); // Output: Smith, Alice
인수 인덱스(예: %2$s 및 %1$s)를 사용하여 형식이 지정된 문자열에서 인수 순서를 변경할 수 있습니다.
기본 형식 지정자는 Java의 Formatter와 함께 사용할 수 있는 일반적인 형식 지정 옵션 중 일부입니다. 특정 사용 사례에 필요에 따라 이러한 옵션을 결합하여 복잡한 형식 지정 패턴을 만들 수 있습니다. Formatter 클래스는 Java에서 강력한 문자열 형식화 기능을 제공합니다.