% 를 사용해서 출력 형식 지정System.out.printf("문자열", 값);
cf)
| 형식 | 의미 | 예시 |
|---|---|---|
%d | 정수 | 10 |
%f | 실수 | 3.14 |
%s | 문자열 | "문자" |
%c | 문자 | 'A' |
%b | boolean | true |
System.out.printf("%d %f %s %c %b",
10, 3.14, "문자", 'A', true);
System.out.printf("%d", 100);
System.out.printf("%.2f", 3.14159);
System.out.printf("%s", "Hello");
-"Galaxy S24 "
String result = String.format("%-15s | %,10d원", "Galaxy S24", 1200000);
System.out.println(result);
{} 기반 포맷
import java.text.MessageFormat;
String result = MessageFormat.format(
"{0} | {1}원", "Galaxy S24", 1200000
);
System.out.println(result);
특징
ㄴ {0}, {1} 사용
ㄴ 국제화(i18n)에서 많이 씀
ㄴ printf보다 덜 직관적
String result = "Galaxy S24" + " | " + 1200000 + "원";
StringBuilder sb = new StringBuilder();
sb.append("Galaxy S24");
sb.append(" | ");
sb.append(1200000);
sb.append("원");
String result = sb.toString();
import java.text.DecimalFormat;
DecimalFormat df = new DecimalFormat("#,###");
String price = df.format(1200000);
System.out.println(price); // 1,200,000
String result = "%-15s | %,10d원".formatted("Galaxy S24", 1200000);