목차
format() 예제 - 문자열/부동소수 포맷
format() 정의
format() 구문
포맷 지정자
format() 예제 - 10진수/16진수/단일문자 포맷
format() 예제 - 숫자 (길이/자릿수) 포맷
format() 예제 - 문자열/부동소수 포맷
Hz.java
public class Hz{
public static void main(String args[]){
String site="홈짱닷컴 Homzzang.com";
String s1=String.format("사이트: %s",site);
String s2=String.format("값: %f",12.34567);
String s3=String.format("값: %20.12f",12.34567);
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
}
}
결과값:
사이트: 홈짱닷컴 Homzzang.com
값: 12.345670
값: 12.345670000000
format() 정의
지정한 (locale, format, arguments )로 포맷된 문자열 반환.
1.
String.format () 메서드에 locale 지정 안 하면, Locale.getDefault() 메서드 호출해 기본 locale 사용.
2.
Java 언어의 format() 메소드는 C 언어의 sprintf () 함수나 Java 언어의 printf () 메소드와 같음.
format() 구문
2가지 형태 가능.
public static String format(String format , Object... args )
또는,
public static String format(Locale locale , String format , Object... args )
[매개변수]
locale
선택. 로케일 지정.
format
필수. 문자열 포맷
args
선택. 포맷된 문자열 위한 독립변수들. (0개 이상 가능)
포맷 지정자
※ 적용 : 적용대상.
※ 반환 : 반환값.
%a
적용: floating point (부동소수) 자료형. 단, BigDecimal은 제외.
반환: 부동 소수점 숫자의 16진수.
%b
적용: 모든 타입의 자료형.
반환: Null 아닌 경우 "true", Null인 경우 "false" 반환.
%c
대상: character (단일문자) 자료형.
반환: 유니코드 단일문자 반환.
%d
대상: integer (정수: byte, short, int, long, bigint 포함)
반환: 10진수 정수.
%e
대상: floating point (부동소수)
반환: 과학적 표기법의 십진수.
%f
대상: floating point (부동소수)
반환: 십진수.
%g
대상: floating point (부동소수)
반환: 십진수. (※ 정밀도와 값에 따라 과학적 표기법 가능).
%h
대상: 모든 자료형.
반환: hashCode() 메서드 반환값의 16진수 문자열.
%n
대상: 없음
반환: 플랫폼 별 라인 구분 기호.
%o
대상: Integer (정수: byte, short, int, long, bigint 포함)
반환: 8 진수.
%s
대상: 모든 자료형.
반환: 문자열 값.
%t
대상: Date/Time (날짜/시간: long, Calendar, Date, TemporalAccessor 포함)
반환: 지정 형식으로 변환된 날짜/시간.
[참고] 전환 위해선 %t 뒤에 더 많은 flag 필요.
%x
대상: integer (정수: byte, short, int, long, bigint 포함)
반환: 16진수 문자열.
format() 예제 - 10진수/16진수/단일문자 포맷
Hz.java
public class Hz {
public static void main(String[] args) {
String str1 = String.format("%d", 123); // 십진수
String str2 = String.format("%s", "Homzzang.com"); // 문자열
String str3 = String.format("%f", 123.00); // 기본 부동소수 (소수점: 6자리)
String str4 = String.format("%x", 123); // 16진수
String str5 = String.format("%c", 'H'); // 단일문자
System.out.println(str1); // 123
System.out.println(str2); // Homzzang.com
System.out.println(str3); // 123.000000
System.out.println(str4); // 7b
System.out.println(str5); // H
}
}
format() 예제 - 숫자 (길이/자릿수) 포맷
Hz.java
public class Hz {
public static void main(String[] args) {
String s1 = String.format("%d", 123);
String s2 = String.format("|%10d|", 123); // 길이10 (우측정렬: 기본값)
String s3 = String.format("|%-10d|", 123); // 길이10 + 좌측정렬
String s4 = String.format("|% d|", 123); // 빈공백 추가
String s5 = String.format("|%010d|", 123); // 길이10 + 공백에 0 추가.
System.out.println(s1); // 123
System.out.println(s2); // | 123|
System.out.println(s3); // |123 |
System.out.println(s4); // | 123|
System.out.println(s5); // |0000000123|
}
}
PS. 숫자 길이 표시 위해, | 막대바 추가.
주소 복사
랜덤 이동
최신댓글