JAVA의 Formatter

JAVA의 Formatter

 

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에서 강력한 문자열 형식화 기능을 제공합니다.