Share via


Formatter 클래스

정의

printf 스타일 형식 문자열에 대한 인터프리터입니다.

[Android.Runtime.Register("java/util/Formatter", DoNotGenerateAcw=true)]
public sealed class Formatter : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ICloseable, Java.IO.IFlushable
[<Android.Runtime.Register("java/util/Formatter", DoNotGenerateAcw=true)>]
type Formatter = class
    inherit Object
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IFlushable
상속
Formatter
특성
구현

설명

printf 스타일 형식 문자열에 대한 인터프리터입니다. 이 클래스는 레이아웃 근거 및 맞춤, 숫자, 문자열 및 날짜/시간 데이터에 대한 일반적인 형식 및 로캘별 출력을 지원합니다. , 및 java.math.BigDecimal BigDecimalCalendar 와 같은 byte일반적인 Java 형식이 지원됩니다. 임의 사용자 유형에 대한 제한된 서식 지정 사용자 지정은 인터페이스를 Formattable 통해 제공됩니다.

포맷터는 다중 스레드 액세스에 반드시 안전하지는 않습니다. 스레드 안전은 선택 사항이며 이 클래스의 메서드 사용자의 책임입니다.

Java 언어에 대한 형식이 지정된 인쇄는 C의 printf에서 크게 영감을 받았습니다. 형식 문자열은 C와 비슷하지만 Java 언어를 수용하고 일부 기능을 활용하기 위해 일부 사용자 지정이 수행되었습니다. 또한 Java 서식은 C보다 더 엄격합니다. 예를 들어 변환이 플래그와 호환되지 않는 경우 예외가 throw됩니다. C에서 적용할 수 없는 플래그는 자동으로 무시됩니다. 따라서 형식 문자열은 C 프로그래머가 인식할 수 있지만 반드시 C의 문자열과 완전히 호환되는 것은 아닙니다.

예상 사용량의 예:

<인용구>

StringBuilder sb = new StringBuilder();
              // Send all output to the Appendable object sb
              Formatter formatter = new Formatter(sb, Locale.US);

              // Explicit argument indices may be used to re-order output.
              formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
              // -&gt; " d  c  b  a"

              // Optional locale as the first argument can be used to get
              // locale-specific formatting of numbers.  The precision and width can be
              // given to round and align the value.
              formatter.format(Locale.FRANCE, "e = %+10.4f", Math.E);
              // -&gt; "e =    +2,7183"

              // The '(' numeric flag may be used to format negative numbers with
              // parentheses rather than a minus sign.  Group separators are
              // automatically inserted.
              formatter.format("Amount gained or lost since last statement: $ %(,.2f",
                               balanceDelta);
              // -&gt; "Amount gained or lost since last statement: $ (6,217.58)"

</인용구>

일반적인 서식 지정 요청에 대한 편리한 메서드는 다음 호출에서 설명한 대로 존재합니다.

<인용구>

// Writes a formatted string to System.out.
              System.out.format("Local time: %tT", Calendar.getInstance());
              // -&gt; "Local time: 13:34:18"

              // Writes formatted output to System.err.
              System.err.printf("Unable to open file '%1$s': %2$s",
                                fileName, exception.getMessage());
              // -&gt; "Unable to open file 'food': No such file or directory"

</인용구>

C와 sprintf(3)마찬가지로 문자열은 정적 메서드 String#format(String,Object...) String.format를 사용하여 형식을 지정할 수 있습니다.

<인용구>

// Format a string containing a date.
              import java.util.Calendar;
              import java.util.GregorianCalendar;
              import static java.util.Calendar.*;

              Calendar c = new GregorianCalendar(1995, MAY, 23);
              String s = String.format("Duke's Birthday: %1$tb %1$te, %1$tY", c);
              // -&gt; s == "Duke's Birthday: May 23, 1995"

</인용구>

<h3>"org">Organization</h3>

이 사양은 두 섹션으로 나뉩니다. 첫 번째 섹션인 요약에서는 기본 서식 개념에 대해 설명합니다. 이 섹션은 빠르게 시작하고 다른 프로그래밍 언어로 서식이 지정된 인쇄에 익숙한 사용자를 위한 것입니다. 두 번째 섹션인 세부 정보는 특정 구현 세부 정보를 다룹니다. 서식 동작의 보다 정확한 사양을 원하는 사용자를 위한 것입니다.

<h3>"summary">Summary</h3>

이 섹션은 서식 개념에 대한 간략한 개요를 제공하기 위한 것입니다. 정확한 동작 세부 정보는 세부 정보 섹션을 참조하세요.

<h4>"구문">형식 문자열 구문</h4>

형식이 지정된 출력을 생성하는 모든 메서드에는 형식 문자열인수 목록이 필요합니다. 서식 문자열은 고정 텍스트와 하나 이상의 포함된 서식 지정자를 포함할 수 있는 입니다String. 다음 예제를 참조하세요.

<인용구>

Calendar c = ...;
              String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);

</인용구>

이 형식 문자열은 메서드의 첫 번째 인수입니다 format . 여기에는 인수를 처리하는 방법과 텍스트에 삽입해야 하는 위치를 나타내는 "", "%1$te" 및 "%1$tY"의 세 가지 형식 지정자가%1$tm 포함되어 있습니다. 형식 문자열의 나머지 부분은 및 기타 공백 또는 문장 부호를 포함한 "Dukes Birthday: " 고정 텍스트입니다.

인수 목록은 형식 문자열 다음에 메서드에 전달된 모든 인수로 구성됩니다. 위의 예제에서 인수 목록은 크기 1이며 개체 c로 구성됩니다java.util.Calendar Calendar.

<ul>

<li> 일반, 문자 및 숫자 형식의 형식 지정자에는 다음 구문이 있습니다.

<인용구>

%[argument_index$][flags][width][.precision]conversion

</인용구>

선택적 argument_index 인수 목록의 인수 위치를 나타내는 10진수 정수입니다. 첫 번째 인수는 "1$", 두 번째 인수는 "2$"로 참조됩니다.

선택적 플래그 는 출력 형식을 수정하는 문자 집합입니다. 유효한 플래그 집합은 변환에 따라 달라집니다.

선택적 너비 는 출력에 쓸 최소 문자 수를 나타내는 양의 10진수 정수입니다.

선택적 정밀도 는 대개 문자 수를 제한하는 데 사용되는 음수가 아닌 10진수 정수입니다. 특정 동작은 변환에 따라 달라집니다.

필수 변환 은 인수의 형식을 지정하는 방법을 나타내는 문자입니다. 지정된 인수에 대한 유효한 변환 집합은 인수의 데이터 형식에 따라 달라집니다.

<li> 날짜 및 시간을 나타내는 데 사용되는 형식의 형식 지정자에는 다음 구문이 있습니다.

<인용구>

%[argument_index$][flags][width]conversion

</인용구>

선택적 argument_index, 플래그너비 는 위와 같이 정의됩니다.

필요한 변환 은 두 문자 시퀀스입니다. 첫 번째 문자는 또는 'T'입니다't'. 두 번째 문자는 사용할 형식을 나타냅니다. 이러한 문자는 GNU date 및 POSIX strftime(3c)에서 정의한 문자와 비슷하지만 완전히 동일하지는 않습니다.

<li> 인수에 해당하지 않는 형식 지정자에는 다음 구문이 있습니다.

<인용구>

%[flags][width]conversion

</인용구>

선택적 플래그너비 는 위와 같이 정의됩니다.

필요한 변환 은 출력에 삽입할 콘텐츠를 나타내는 문자입니다.

</ul>

<h4> 변환 </h4>

변환은 다음 범주로 나뉩니다.

<Ol>

<li><b>General</b> - 모든 인수 형식에 적용할 수 있습니다.

<li><b>Character</b> - , , byteshortByteShort유니Character코드 문자를 char나타내는 기본 형식에 적용할 수 있습니다. 이 변환은 형식 int 에 적용할 수도 있으며 Integer li<>b Numeric</b>를 반환true<할 때 Character#isValidCodePoint 도 적용할 수 있습니다.>

<Ol>

<li>b 정수</b> - Java 정수 형식에 적용할 수 있습니다. byte, Byte, Shortshort, intInteger, Longlong, 및 java.math.BigInteger BigInteger (또는 아님Characterchar).><

<li><b>부동 소수점</b> - Java 부동 소수점 형식에 적용할 수 있습니다. float, Float, double, Doublejava.math.BigDecimal BigDecimal</ol>

<li><b>Date/Time</b> - 날짜 또는 시간을 long인코딩할 수 있는 Java 형식에 적용할 수 있습니다. , , LongCalendarTemporalAccessor TemporalAccessorDate<li><b>Percent</b> - 리터럴 '%' 생성()'&#92;u0025'

<li><b>줄 구분 기호</b> - 플랫폼별 선 구분 기호를 생성합니다.

</Ol>

범주 일반, 문자, Numberic, 정수날짜/시간 변환의 경우 달리 지정하지 않는 한 인수 인수 인수null이면 결과는 "null"입니다.

다음 표에서는 지원되는 변환을 요약합니다. 대문자(예: 'B', , , 'H', 'S', 'G''E''X''A''C'및 )로 표시되는 변환은 결과가 일반적인 java.util.Locale Locale의 규칙에 따라 대문자로 변환된다는 점을 제외하고 해당 소문자 변환 문자의 변환과 'T'동일합니다. instance 생성 시 또는 메서드 호출 java.util.Locale.Category#FORMAT default locale 에 대한 매개 변수로 지정된 명시적 로캘이 없는 경우 가 사용됩니다.

<table class="striped"><캡션 style="display:none">genConv</캡션<>thead<>tr><th scope="col" style="vertical-align:bottom"> Conversion <th scope="col" style="vertical-align:bottom"> Argument Category <th scope="col" style="vertical-align:bottom"> Description </thead><tbody><trth><scope="row" style="vertical-align:top"'b'>, 'B'<td style="vertical-align:top"> general <td> 인수 인수 인수null이면 결과는 "false"입니다. argboolean 또는 Boolean인 경우 결과는 에서 반환String#valueOf(boolean) String.valueOf(arg)되는 문자열입니다. 그렇지 않으면 결과는 "true"입니다.

<trth><scope="row" style="vertical-align:top"'h'>, 'H'<td style="vertical-align:top"> general <td> 를 호출하여 Integer.toHexString(arg.hashCode())결과를 가져옵니다.

<trth><scope="row" style="vertical-align:top"'s'>, 'S'<td style="vertical-align:top"> 일반 <td>arg가 를 구현Formattable하면 가 Formattable#formatTo arg.formatTo 호출됩니다. 그렇지 않으면 를 호출하여 arg.toString()결과를 가져옵니다.

<trth><scope="row" style="vertical-align:top">'c', 'C'<td style="vertical-align:top"> 문자 <td> 결과는 유니코드 문자입니다.

<trth><scope="row" style="vertical-align:top"td style="'d'<>vertical-align:top"> 정수 <td> 결과 형식이 10진수 정수로 지정됩니다.

<trth><scope="row" style="vertical-align:top"td style="'o'<>vertical-align:top"> 정수 <td> 결과는 8진수 정수로 서식이 지정됩니다.

<trth><scope="row" style="vertical-align:top">'x', 'X'<td style="vertical-align:top"> 정수 <td> 결과 형식이 16진수 정수로 지정됩니다.

<trth><scope="row" style="vertical-align:top">'e', 'E'<td style="vertical-align:top"> 부동 소수점 <td> 결과는 전산화된 과학적 표기법에서 10진수로 서식이 지정됩니다.

<trth><scope="row" style="vertical-align:top"><'f'td style="vertical-align:top"> 부동 소수점 <td> 결과 서식이 10진수로 지정됩니다.

<trth><scope="row" style="vertical-align:top">'g', 'G'<td style="vertical-align:top"> 부동 소수점 <td> 결과는 반올림 후의 정밀도 및 값에 따라 전산화된 과학적 표기법 또는 10진수 형식을 사용하여 형식이 지정됩니다.

<tr><th scope="row" style="vertical-align:top">'a', 'A'<td style="vertical-align:top"> 부동 소수점 <td> 결과는 중요 및 지수가 있는 16진수 부동 소수점 숫자로 형식이 지정됩니다. 이 변환은 <후자가 부동 소수점 인수 범주에 있음에도 불구하고 형식에 대해 BigDecimal b>not</b> 지원됩니다.

<trth><scope="row" style="vertical-align:top">'t', 'T'<td style="vertical-align:top"> date/time <td> Prefix for date and time conversion characters. 날짜/시간 변환을 참조하세요.

<trth><scope="row" style="vertical-align:top"td style="<'%'>vertical-align:top"> percent <td> 결과는 리터럴 '%' 입니다()'&#92;u0025'

<trth><scope="row" style="vertical-align:top"><'n'td style="vertical-align:top"> 선 구분 기호 <td> 결과는 플랫폼별 선 구분 기호입니다.

</tbody></table>

변환으로 명시적으로 정의되지 않은 문자는 불법이며 향후 확장을 위해 예약되어 있습니다.

<h4>"dt">날짜/시간 변환</h4>

다음 날짜 및 시간 변환 접미사 문자는 및 'T' 변환에 't' 대해 정의됩니다. 형식은 GNU date 및 POSIX strftime(3c)에서 정의한 형식과 비슷하지만 완전히 동일하지는 않습니다. Java 관련 기능에 액세스하기 위해 추가 변환 형식이 제공됩니다(예: 'L' 두 번째 내의 밀리초).

다음 변환 문자는 서식 지정 시간에 사용됩니다.

<table class="striped"><캡션 style="display:none">time</캡션<>tbody><tr><th scope="row" style="vertical-align:top"'H'<>td> Hour of the day for the 24-hour clock, formatted as leading zero 00 - 23as necessary.

<trth><scope="row" style="vertical-align:top"><'I'td> Hour for the 12-hour clock, formatted as the two digits with the leading zero as necessary, 즉 . 01 - 12

<trth><scope="row" style="vertical-align:top"><'k'td> 24시간 시계에 대한 하루 중 시간(예: 0 - 23).

<trth><scope="row" style="vertical-align:top"><'l'td> Hour for the 12시간 클록, 즉 . 1 - 12

<trth><scope="row" style="vertical-align:top"><'M'td> 필요한 경우 앞에 0이 있는 두 자리 숫자로 서식이 지정된 시간 내의 분(예: )입니다. 00 - 59

<trth><scope="row" style="vertical-align:top"'S'<>td> Seconds(분) 내의 초이며, 필요에 따라 선행 0이 있는 두 자리로 서식이 지정됩니다( 즉 00 - 60 , ""60는 윤초를 지원하는 데 필요한 특수 값임).

<trth><scope="row" style="vertical-align:top"><'L'td Millisecond>가 필요에 따라 앞에 0이 있는 세 자리로 서식이 지정된 두 번째 숫자(예: )입니다. 000 - 999

<trth><scope="row" style="vertical-align:top"><'N'td Nanosecond>를 두 번째 숫자로 지정하고 필요에 따라 앞에 오는 0이 있는 9자리 숫자로 서식이 지정됩니다. 즉, 입니다. 000000000 - 999999999

<trth><scope="row" style="vertical-align:top"><'p'td> Locale-specific java.text.DateFormatSymbols#getAmPmStrings 아침 또는 오후 마커(예: "am)" 또는 "pm". 변환 접두사를 'T' 사용하면 이 출력이 대문자로 강제 적용되었습니다.

<trth><scope="row" style="vertical-align:top"'z'><td> RFC 822 style numeric time zone offset from GMT( 예: ). -0800 이 값은 일광 절약 시간에 필요에 따라 조정됩니다. long, LongDate 사용되는 표준 시간대는 Java 가상 머신의 이 instance 대한 TimeZone#getDefault() 기본 표준 시간대입니다.

<trth><scope="row" style="vertical-align:top"<>'Z'td> 표준 시간대의 약어를 나타내는 문자열입니다. 이 값은 일광 절약 시간에 필요에 따라 조정됩니다. long, LongDate 사용되는 표준 시간대는 Java 가상 머신의 이 instance 대한 TimeZone#getDefault() 기본 표준 시간대입니다. Formatter의 로캘은 인수의 로캘을 대체합니다(있는 경우).

<trth><scope="row" style="vertical-align:top"<'s'>td> Seconds 1970 00:00:00 년 1월 1일 UTC(예: )부터 Epoch가 시작된 후 초입니다. Long.MIN_VALUE/1000Long.MAX_VALUE/1000

<trth><scope="row" style="vertical-align:top"><'Q'td> Milliseconds 이후 epoch의 시작부터 1970 00:00:00 년 1월 1일 UTC( 예 Long.MIN_VALUELong.MAX_VALUE: ).

</tbody></table>

날짜 서식 지정에 사용되는 변환 문자는 다음과 같습니다.

<table class="striped"><캡션 style="display:none">date</캡션><tbody>

<trth><scope="row" style="vertical-align:top"'B'<>td> Locale-specific java.text.DateFormatSymbols#getMonths full month name, 예: "January", . "February"

<trth><scope="row" style="vertical-align:top"'b'<>td> Locale-specific java.text.DateFormatSymbols#getShortMonths 약어 월 이름( 예: "Jan", ) "Feb"

<tr><th scope="row" style="vertical-align:top"><'h'td>와 동일합니다.'b'

<trth><scope="row" style="vertical-align:top"<'A'>td> Locale-specific full name of the java.text.DateFormatSymbols#getWeekdays day, 예: "Sunday", "Monday"<tr><th scope="row" style="vertical-align:top"<'a'>td> Locale-specific short name of the java.text.DateFormatSymbols#getShortWeekdays day of the week, 예: "Sun", "Mon"<tr><th scope="row" style="vertical-align:top"><'C'td> 4자리 연도를 필요에 따라 선행 0으로 두 자리로 나눕100니다. 즉<00 - 99, tr><th scope="row" style="vertical-align:top"<>'Y'td> Year, 필요에 따라 선행 0이 있는 최소 4자리 숫자로 서식이 지정됩니다.예: 0092 양력의 CE와 같습니다.92

<trth><scope="row" style="vertical-align:top"><'y'td> 필요한 경우 선행 0으로 서식이 지정된 연도의 마지막 두 자리 숫자(예00 - 99: ).

<trth><scope="row" style="vertical-align:top"><'j'td> Day of year, 필요에 따라 앞에 오는 0이 있는 세 자리로 서식이 지정됩니다(예: 001 - 366 그레고리오력).

<trth><scope="row" style="vertical-align:top"><'m'td> Month, 필요에 따라 앞에 오는 0이 있는 두 자리로 서식이 지정됩니다. 즉. 01 - 13

<trth><scope="row" style="vertical-align:top"'d'<>td> Day, 필요에 따라 앞에 오는 0이 있는 두 자리로 서식이 지정됩니다. 즉01 - 31<, tr><th scope="row" style="vertical-align:top"'e'<>td> Day, 즉 두 자리로 서식이 지정됩니다. 1 - 31

</tbody></table>

다음 변환 문자는 일반적인 날짜/시간 컴퍼지션의 서식을 지정하는 데 사용됩니다.

<table class="striped"><캡션 style="display:none">composites</캡션><tbody>

<trth><scope="row" style="vertical-align:top"'R'<>td> 24시간 클록<"%tH:%tM"에 대해 trth><scope="row" style="vertical-align:top"'T'<>td> Time 형식으로 24시간 클록"%tH:%tM:%tS"에 대해 형식이 지정됩니다.

<trth><scope="row" style="vertical-align:top"><'r'td> Time 형식이 12시간 클록에 대해 로 "%tI:%tM:%tS %Tp"지정됩니다. 아침 또는 오후 표식('%Tp')의 위치는 로캘에 따라 달라질 수 있습니다.

<trth><scope="row" style="vertical-align:top"><'D'td> Date 형식입니다."%tm/%td/%ty"

<trth><scope="row" style="vertical-align:top"'F'><td> ISO 8601 전체 날짜 형식."%tY-%tm-%td"

<trth><scope="row" style="vertical-align:top"'c'<>td> Date 및 time formatted as "%ta %tb %td %tT %tZ %tY", 예: . "Sun Jul 20 16:17:00 EDT 1969"

</tbody></table>

날짜/시간 변환 접미사로 명시적으로 정의되지 않은 문자는 불법이며 향후 확장을 위해 예약되어 있습니다.

<h4> Flags </h4>

다음 표에서는 지원되는 플래그를 요약합니다. y 는 플래그가 표시된 인수 형식에 대해 지원됨을 의미합니다.

<table class="striped"><캡션 style="display:none">genConv</캡션<>thead><tr><th scope="col" style="vertical-align:bottom"> Flag <th scope="col" style="vertical-align:bottom"> Generalth <scope="col" style="vertical-align:bottom"> Character <th scope="col" style="vertical-align:bottom"> 정수 <th scope="col" style="vertical-align:bottom"> 부동 소수점 <th scope="col" style="vertical-align:bottom"> Date/Time <th scope="col" style="vertical-align:bottom"> Description </thead><tbody><tr><th scope="row"> '-<td style="text-align: text-align 센터; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> y <td> 결과는 왼쪽 맞춤됩니다.

<trth><scope="row"> '#' <td style="text-align:center; vertical-align:top"> y<sup>1</sup><td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y<sup>3</sup><td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> - <td> 결과는 변환 종속 대체 양식을 사용해야 합니다.

<trth><scope="row"> '+' <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y<sup>4</sup<>td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> - <td> 결과에는 항상 기호가 포함됩니다.

<trth><scope="row"> '  ' <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y<sup>4</sup<>td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> - <td> 결과에 양수 값에 대한 선행 공간이 포함됩니다.

<trth><scope="row"> '0' <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> y <td style="text-align:center; vertical-align:top"> - <td> 결과는 0패딩됩니다.

<tr><th scope="row"> ',' <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y<sup>2</sup><td style="text-align:center; vertical-align:top"> y<sup>5</sup<>td style="text-align:center; vertical-align:top"> - <td> 결과에는 로캘별 java.text.DecimalFormatSymbols#getGroupingSeparator 그룹화 구분 기호<tr><th scope="row"> '(' <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> - <td style="text-align:center; vertical-align:top"> y<sup>4</sup><td style="text-align:center; vertical-align:top"> y<sup>5</sup><td style="text-align:center"> - <td> 결과는 음수를 괄호로 묶습니다.

</tbody></table>

<sup>1</sup> 의 Formattable정의에 따라 달라집니다.

<sup>2</sup>'d' 변환 전용입니다.

<sup>3</sup> , 'o''x''X' 변환에만 해당합니다.

<sup>4</sup> , , 'o''X''x'변환에 'd'적용 java.math.BigInteger BigInteger 되거나 'd' , , Byte, intShortshortLonglongInteger, 및 에 적용byte됩니다.

<sup>5</sup> , 'e', 'f''E', 'g''G' 변환에만 해당합니다.

플래그로 명시적으로 정의되지 않은 문자는 불법이며 향후 확장을 위해 예약됩니다.

<h4> Width </h4>

너비는 출력에 쓸 최소 문자 수입니다. 선 구분 기호 변환의 경우 너비를 적용할 수 없습니다. 제공되면 예외가 throw됩니다.

<h4> 정밀도 </h4>

일반 인수 형식의 경우 전체 자릿수는 출력에 쓸 최대 문자 수입니다.

부동 소수점 변환 'a'의 경우 , 'A', 'e', 'E''f' 전체 자릿수는 radix 점 뒤의 숫자 수입니다. 변환이 'g' 또는 'G'인 경우 전체 자릿수는 반올림 후 결과 크기의 총 자릿수입니다.

문자, 정수 및 날짜/시간 인수 형식과 백분율 및 선 구분 기호 변환의 경우 전체 자릿수를 적용할 수 없습니다. 정밀도를 제공하면 예외가 throw됩니다.

<h4> 인수 인덱스 </h4>

인수 인덱스는 인수 목록에서 인수의 위치를 나타내는 10진수 정수입니다. 첫 번째 인수는 "1$", 두 번째 인수는 "2$"로 참조됩니다.

위치별로 인수를 참조하는 또 다른 방법은 ('&#92;u003c') 플래그를 사용하여 '<' 이전 형식 지정자에 대한 인수를 다시 사용하는 것입니다. 예를 들어 다음 두 문은 동일한 문자열을 생성합니다.

<인용구>

Calendar c = ...;
              String s1 = String.format("Duke's Birthday: %1$tm %1$te,%1$tY", c);

              String s2 = String.format("Duke's Birthday: %1$tm %&lt;te,%&lt;tY", c);

</인용구>

<hr><h3>"detail">Details</h3>

이 섹션은 조건 및 예외, 지원되는 데이터 형식, 지역화 및 플래그, 변환 및 데이터 형식 간의 상호 작용을 포함하여 서식 지정에 대한 동작 세부 정보를 제공하기 위한 것입니다. 서식 개념에 대한 개요는 요약을 참조하세요.

변환, 날짜/시간 변환 접미사 또는 플래그로 명시적으로 정의되지 않은 문자는 불법이며 향후 확장을 위해 예약됩니다. 형식 문자열에서 이러한 문자를 사용하면 또는 UnknownFormatFlagsExceptionUnknownFormatConversionException throw됩니다.

형식 지정자에 잘못된 값이 있거나 지원 IllegalFormatWidthException 되지 않는 너비 또는 전체 자릿수가 포함된 경우 또는 IllegalFormatPrecisionException 가 각각 throw됩니다.

형식 지정자에 해당 인수 IllegalFormatConversionException 에 적용할 수 없는 변환 문자가 포함되어 있으면 이 throw됩니다.

지정된 모든 예외는 및 와 같은 java.io.PrintStream#printf(String,Object...) PrintStream.printfString#format(String,Object...) String.format 편의 메서드뿐만 아니라 의 formatFormatter 메서드에서도 format throw될 수 있습니다.

범주 일반, 문자, 숫자, 정수날짜/시간 변환의 경우 달리 지정하지 않는 한 인수 인수null가 이면 결과는 "null"입니다.

대문자(예: 'B', , , 'H', 'S', 'G''E''X''A''C'및 )로 표시되는 변환은 결과가 일반적인 java.util.Locale Locale의 규칙에 따라 대문자로 변환된다는 점을 제외하고 해당 소문자 변환 문자의 변환과 'T'동일합니다. instance 생성 시 또는 메서드 호출 java.util.Locale.Category#FORMAT default locale 에 대한 매개 변수로 지정된 명시적 로캘이 없는 경우 가 사용됩니다.

<h4>"dgen">General</h4>

다음과 같은 일반 변환을 인수 형식에 적용할 수 있습니다.

<table class="striped"><캡션 style="display:none">dgConv</캡션><tbody>

<trth><scope="row" style="vertical-align:top"td style="'b'<>vertical-align:top"><'&#92;u0062'td> 에서 반환Boolean#toString(boolean)된 대로 "true" 또는 "false"을 생성합니다.

인수 null가 이면 결과는 "false"입니다. 인수가 boolean 또는 Boolean인 경우 결과는 에서 반환 String#valueOf(boolean) String.valueOf()된 문자열입니다. 그렇지 않으면 결과는 "true"입니다.

플래그가 '#' 지정되면 이 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"td style=">'B'<vertical-align:top"'&#92;u0042'<>td> 의 'b'대문자 변형입니다.

<trth><scope="row" style="vertical-align:top"td style=">'h'<vertical-align:top"'&#92;u0068'><td> 개체의 해시 코드 값을 나타내는 문자열을 생성합니다.

결과는 를 호출하여 Integer.toHexString(arg.hashCode())가져옵니다.

플래그가 '#' 지정되면 이 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"td style=">'H'<vertical-align:top"'&#92;u0048'<>td> 의 'h'대문자 변형입니다.

<trth><scope="row" style="vertical-align:top"td style=">'s'<vertical-align:top"'&#92;u0073'><td> 문자열을 생성합니다.

인수가 를 구현하는 Formattable경우 해당 Formattable#formatTo formatTo 메서드가 호출됩니다. 그렇지 않으면 인수의 toString() 메서드를 호출하여 결과를 가져옵니다.

플래그가 '#' 지정되고 인수가 이 아니면 FormattableFormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"td style=">'S'<vertical-align:top"'&#92;u0053'<>td> 의 's'대문자 변형입니다.

</tbody></table>

다음 "dFlags"> 플래그는 일반 변환에 적용됩니다.

<table class="striped"><캡션 style="display:none">dFlags</캡션><tbody>

<trth><scope="row" style="vertical-align:top"td style=">'-'<vertical-align:top"'&#92;u002d'><td> Left는 출력을 정당화합니다. 필드의 최소 너비를 채우는 데 필요한 경우 변환된 값의 끝에 공백('&#92;u0020')이 추가됩니다. 너비가 제공되지 않으면 이 MissingFormatWidthException throw됩니다. 이 플래그가 지정되지 않으면 출력이 오른쪽 맞춤됩니다.

<trth><scope="row" style="vertical-align:top"td style=">'#'<vertical-align:top"'&#92;u0023'><td> 출력에 대체 양식을 사용해야 합니다. 폼의 정의는 변환에 의해 지정됩니다.

</tbody></table>

"genWidth"> 너비는 출력에 쓸 최소 문자 수입니다. 변환된 값의 길이가 너비보다 작으면 총 문자 수가 너비와 같을 때까지 출력이 ('&#92;u0020')로 채워 '&nbsp;&nbsp;' 집니다. 안쪽 여백은 기본적으로 왼쪽에 있습니다. 플래그가 '-' 지정되면 안쪽 여백이 오른쪽에 있습니다. 너비를 지정하지 않으면 최소값이 없습니다.

전체 자릿수는 출력에 쓸 최대 문자 수입니다. 전체 자릿수는 너비 앞에 적용되므로 너비가 전체 자릿수보다 크더라도 출력이 문자로 precision 잘립니다. 전체 자릿수를 지정하지 않으면 문자 수에 대한 명시적 제한이 없습니다.

<h4>"dchar">Character</h4>

이 변환은 및 Characterchar 적용될 수 있습니다. 를 반환true할 때 Character#isValidCodePoint , , shortByteIntegerintShort형식byte에도 적용할 수 있습니다. 반환 false 하는 경우 가 IllegalFormatCodePointException throw됩니다.

<table class="striped"><캡션 style="display:none">charConv</캡션><tbody>

<trth><scope="row" style="vertical-align:top"td style=">'c'<vertical-align:top"'&#92;u0063'><td> 유니코드 문자 표현에 설명된 대로 인수를 유니코드 문자로 서식 지정합니다. 인수가 보조 문자를 나타내는 경우 16비 char 트 이상일 수 있습니다.

플래그가 '#' 지정되면 이 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"td style=">'C'<vertical-align:top"'&#92;u0043'<>td> 의 'c'대문자 변형입니다.

</tbody></table>

'-' 일반 변환에 대해 정의된 플래그가 적용됩니다. 플래그가 '#' 지정되면 이 FormatFlagsConversionMismatchException throw됩니다.

너비는 일반 변환에 대해 로 정의됩니다.

정밀도는 적용할 수 없습니다. 전체 자릿수를 지정하면 이 IllegalFormatPrecisionException throw됩니다.

<h4>"dnum">Numeric</h4>

숫자 변환은 다음 범주로 나뉩니다.

<Ol>

<li><b>Byte, Short, Integer 및 Long</b><li><b>BigInteger</b li><b><>Float and Double</b><li><b>BigDecimal</b></ol>

숫자 형식은 다음 알고리즘에 따라 형식이 지정됩니다.

<b>"L10nAlgorithm"> Number Localization Algorithm</b>

정수 부분, 소수 부분 및 지수에 대한 숫자를 가져온 후(데이터 형식에 적합) 다음 변환이 적용됩니다.

<Ol>

<li> 문자열의 각 숫자 문자 d 는 현재 로캘의 java.text.DecimalFormatSymbols#getZeroDigit() 0자리z를 기준으로 계산된 로캘별 숫자로 대체됩니다. 즉 , nbsp;- 를&.'0' +  z.

<li> 10진수 구분 기호가 있는 경우 로캘별 java.text.DecimalFormatSymbols#getDecimalSeparator 10진수 구분 기호가 대체됩니다.

<li> ('&#92;u002c') "L10nGroup"> 플래그가 지정되면 ',' 로캘별 java.text.DecimalFormatSymbols#getGroupingSeparator 그룹화 구분 기호는 문자열의 정수 부분을 가장 중요한 숫자에서 가장 중요한 숫자로 검사하고 로캘의 java.text.DecimalFormat#getGroupingSize() 그룹 크기로 정의된 간격으로 구분 기호를 삽입하여 삽입됩니다.

<li> 플래그가 '0' 지정되면 문자열의 길이가 요청된 필드 너비와 같을 때까지 로캘별 java.text.DecimalFormatSymbols#getZeroDigit() 0 자릿수가 기호 문자 뒤에 삽입되고(있는 경우) 첫 번째 0이 아닌 숫자 앞에 삽입됩니다.

<li> 값이 음수이고 플래그가 '(' 지정 '(' 되면 ('&#92;u0028')가 앞에 추가되고 ')' ('&#92;u0029')가 추가됩니다.

<li> 값이 음수(또는 부동 소수점 음수 0)이고 '(' 플래그가 지정 '-' 되지 않으면 ('&#92;u002d')가 앞에 추가됩니다.

<li> 플래그가 '+' 지정되고 값이 양수 또는 0(또는 부동 소수점 양의 0) '+' 이면 ('&#92;u002b')가 앞에 추가됩니다.

</Ol>

값이 NaN 또는 양의 무한대이면 각각 "NaN" 또는 "Infinity" 리터럴 문자열이 출력됩니다. 값이 음수 무한대이면 플래그가 지정되면 '(' 출력은 "(무한대)"이 되고, 그렇지 않으면 출력은 "-Infinity"가 됩니다. 이러한 값은 지역화되지 않습니다.

"dnint"><b> Byte, Short, Integer 및 Long </b>

다음 변환은 , , , short및 , intLonglongInteger에 적용될 byte수 있습니다. ShortByte

<table class="striped"><캡션 style="display:none">IntConv</캡션><tbody>

<trth><scope="row" style="vertical-align:top"td style=">'d'<vertical-align:top"'&#92;u0064'><td> 인수를 10진수 정수로 서식 지정합니다. 지역화 알고리즘이 적용됩니다.

플래그가 '0' 지정되고 값이 음수이면 기호 다음에 0 패딩이 발생합니다.

플래그가 '#' 지정되면 가 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"td style=">'o'<vertical-align:top"'&#92;u006f'><td> 인수를 base 8의 정수로 포맷합니다. 지역화가 적용되지 않습니다.

x가 음수이면 결과는 Byte#SIZE Byte, Short#SIZE Short, Integer#SIZE Integer 또는 Long#SIZE Long 클래스의 정적 SIZE 필드에서 반환되는 형식의 비트 수인 값에 2<sup>n</sup>을 추가하여 생성된 부호 없는 값 n 이 됩니다.

플래그가 '#' 지정되면 출력은 항상 radix 표시 '0'기 로 시작됩니다.

플래그가 '0' 지정되면 기호 표시에 따라 출력에 선행 0이 필드 너비로 채워집니다.

'(', '+''   ', 또는 ',' 플래그가 지정되면 가 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"td style=">'x'<vertical-align:top"'&#92;u0078'><td> 인수를 base 16의 정수로 포맷합니다. 지역화가 적용되지 않습니다.

x가 음수이면 결과는 Byte#SIZE Byte, Short#SIZE Short, Integer#SIZE Integer 또는 Long#SIZE Long 클래스의 정적 SIZE 필드에서 반환되는 형식의 비트 수인 값에 2<sup>n</sup>을 추가하여 생성된 부호 없는 값 n 이 됩니다.

플래그가 '#' 지정되면 출력은 항상 radix 표시 "0x"기 로 시작됩니다.

플래그가 '0' 지정된 경우 출력은 radix 표시기 또는 기호(있는 경우) 뒤의 선행 0으로 필드 너비에 패딩됩니다.

'(', '&nbsp;&nbsp;', '+'또는 ',' 플래그가 지정되면 가 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"'X'><td style="vertical-align:top"'&#92;u0058'<>td> 의 'x'대문자 변형입니다. 숫자를 나타내는 전체 문자열은 (있는 경우) 및 모든 16진수 숫자( - '&#92;u0066''&#92;u0061')를 포함하여 'x' String#toUpperCase 대문자로 변환됩니다.'a' - 'f'

</tbody></table>

변환이 , 또는 이고 및 '0' 플래그가 모두 '#' 지정된 경우 결과에는 radix 표시기('0'8진수 및 "0X""0x" 16진수), 일부 수의 0(너비 기준) 및 값이 포함됩니다.'X''x''o'

플래그가 '-' 지정되지 않으면 기호 앞에 공백 패딩이 발생합니다.

다음 "intFlags"> 플래그는 숫자 정수 변환에 적용됩니다.

<table class="striped"><캡션 style="display:none">intFlags</캡션><tbody>

<trth><scope="row" style="vertical-align:top"td style=">'+'<vertical-align:top"'&#92;u002b'><td> 모든 양수에 대한 양수 기호를 포함하려면 출력이 필요합니다. 이 플래그를 지정하지 않으면 음수 값에만 기호가 포함됩니다.

'&nbsp;&nbsp;' 플래그가 '+' 모두 지정되면 가 IllegalFormatFlagsException throw됩니다.

<trth><scope="row" style="vertical-align:top"'&nbsp;&nbsp;'><td style="vertical-align:top"'&#92;u0020'<>td> 출력에 음수가 아닌 값에 대한 단일 추가 공간('&#92;u0020')을 포함해야 합니다.

'&nbsp;&nbsp;' 플래그가 '+' 모두 지정되면 가 IllegalFormatFlagsException throw됩니다.

<trth><scope="row" style="vertical-align:top">'0'<td style="vertical-align:top"'&#92;u0030'><td> 출력을 선행 java.text.DecimalFormatSymbols#getZeroDigit 0으로 채워야 하며 NaN 또는 무한대를 변환할 때를 제외하고 기호 또는 방사형 표시기 다음에 최소 필드 너비로 채워야 합니다. 너비가 제공되지 않으면 가 MissingFormatWidthException throw됩니다.

'0' 플래그가 '-' 모두 지정되면 가 IllegalFormatFlagsException throw됩니다.

<tr><th scope="row" style="vertical-align:top">','<td style="vertical-align:top"'&#92;u002c'><td> 지역화 알고리즘의 "group" 섹션에 설명된 대로 로캘별 java.text.DecimalFormatSymbols#getGroupingSeparator 그룹 구분 기호를 포함하도록 출력이 필요합니다.

<trth><scope="row" style="vertical-align:top"'('><td style="vertical-align:top"<>'&#92;u0028'td> 앞에 ()를 추가하고 '(' ('&#92;u0028''&#92;u0029')를 음수 값에 추가하려면 출력이 ')' 필요합니다.

</tbody></table>

"intdFlags"> 플래그가 지정되지 않은 경우 기본 서식은 다음과 같습니다.

<ul>

<li> 출력은 li> 음수 내에서 width<오른쪽 맞춤으로 시작 '-' 합니다('&#92;u002d').

<li> 양수 및 0은 기호 또는 추가 선행 공간을 포함하지 않습니다.

<li> 그룹화 구분 기호가 포함되지 않음

</ul>

"intWidth"> 너비는 출력에 쓸 최소 문자 수입니다. 여기에는 모든 기호, 숫자, 그룹화 구분 기호, 방사형 표시기 및 괄호가 포함됩니다. 변환된 값의 길이가 너비보다 작으면 총 문자 수가 너비와 같을 때까지 출력이 공백('&#92;u0020')으로 채워집니다. 패딩은 기본적으로 왼쪽에 있습니다. 플래그가 지정되면 '-' 안쪽 여백이 오른쪽에 있습니다. 너비를 지정하지 않으면 최소값이 없습니다.

전체 자릿수는 적용되지 않습니다. 전체 자릿수를 지정하면 이 IllegalFormatPrecisionException throw됩니다.

"dnbint"><b> BigInteger </b>

다음 변환을 에 적용할 java.math.BigInteger수 있습니다.

<table class="striped"><캡션 style="display:none">bIntConv</캡션><tbody>

<trth><scope="row" style="vertical-align:top">'d'<td style="vertical-align:top"'&#92;u0064'><td> 출력을 10진수 정수로 포맷해야 합니다. 지역화 알고리즘이 적용됩니다.

플래그가 '#' 지정 FormatFlagsConversionMismatchException 되면 throw됩니다.

<trth><scope="row" style="vertical-align:top">'o'<td style="vertical-align:top"'&#92;u006f'><td> 출력의 형식을 base 8의 정수로 지정해야 합니다. 지역화가 적용되지 않습니다.

x가 음수이면 결과는 ('&#92;u002d')로 시작하는 부호 있는 값이 '-' 됩니다. 기본 형식과 달리 명시적 데이터 형식 크기를 가정하지 않고는 서명되지 않은 해당 형식을 만들 수 없으므로 이 형식에 대해 부호 있는 출력이 허용됩니다.

x가 양수 또는 0이고 플래그가 '+' 지정되면 결과는 ('&#92;u002b')로 '+' 시작됩니다.

플래그가 '#' 지정되면 출력은 항상 접두사로 '0' 시작됩니다.

플래그가 '0' 지정되면 기호 표시에 따라 출력에 선행 0이 필드 너비로 채워집니다.

플래그가 ',' 지정되면 가 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top">'x'<td style="vertical-align:top"'&#92;u0078'><td> 출력 형식을 16에서 정수로 지정해야 합니다. 지역화가 적용되지 않습니다.

x가 음수이면 결과는 ('&#92;u002d')로 시작하는 부호 있는 값이 '-' 됩니다. 기본 형식과 달리 명시적 데이터 형식 크기를 가정하지 않고는 서명되지 않은 해당 형식을 만들 수 없으므로 이 형식에 대해 부호 있는 출력이 허용됩니다.

x가 양수 또는 0이고 플래그가 '+' 지정되면 결과는 ('&#92;u002b')로 '+' 시작됩니다.

플래그가 '#' 지정되면 출력은 항상 radix 표시 "0x"기 로 시작됩니다.

플래그가 '0' 지정된 경우 출력은 radix 표시기 또는 기호(있는 경우) 뒤의 선행 0으로 필드 너비에 패딩됩니다.

플래그가 ',' 지정되면 가 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"'X'><td style="vertical-align:top"'&#92;u0058'<>td> 의 'x'대문자 변형입니다. 숫자를 나타내는 전체 문자열은 (있는 경우) 및 모든 16진수 숫자( - '&#92;u0066''&#92;u0061')를 포함하여 'x' String#toUpperCase 대문자로 변환됩니다.'a' - 'f'

</tbody></table>

변환이 , 또는 이고 및 '0' 플래그가 모두 '#' 지정된 경우 결과에는 기본 표시기('0'8진수 및 "0X""0x" 16진수), 일부 0(너비 기준) 및 값이 포함됩니다.'X''x''o'

플래그가 '0' 지정되고 값이 음수이면 기호 다음에 0 패딩이 발생합니다.

플래그가 '-' 지정되지 않으면 기호 앞에 공백 패딩이 발생합니다.

바이트, Short, Integer 및 Long에 정의된 모든 플래그가 적용됩니다. 플래그가 지정되지 않은 경우의 기본 동작은 Byte, Short, Integer 및 Long과 동일합니다.

너비 사양은 Byte, Short, Integer 및 Long에 정의된 것과 같습니다.

전체 자릿수는 적용되지 않습니다. 전체 자릿수를 지정하면 이 IllegalFormatPrecisionException throw됩니다.

"dndec"><b> Float 및 Double</b>

다음 변환을 , FloatdoubleDouble에 적용할 float수 있습니다.

<table class="striped"><캡션 style="display:none">floatConv</캡션><tbody>

<trth><scope="row" style="vertical-align:top"'e'><td style="vertical-align:top"'&#92;u0065'<>td> "scientific">전산화된 과학적 표기법을 사용하여 출력의 형식을 지정해야 합니다. 지역화 알고리즘이 적용됩니다.

크기 m 의 서식은 해당 값에 따라 달라집니다.

m이 NaN 또는 infinite이면 각각 "NaN" 또는 "Infinity" 리터럴 문자열이 출력됩니다. 이러한 값은 지역화되지 않습니다.

m이 양수-0 또는 음수-0이면 지수는 가 됩니다"+00".

그렇지 않으면 결과는 인수의 부호와 크기(절대 값)를 나타내는 문자열입니다. 기호의 서식은 지역화 알고리즘에 설명되어 있습니다. 크기 m 의 서식은 해당 값에 따라 달라집니다.

n은 10<sup>n</sup> <= m < 10 supn+1</sup, 10<sup>n</sup>><> 수학적으로 정확한 몫이 되도록 1 <;= a < 10. 그런 다음, 크기는 의 정수 부분으로 표시됩니다. 10진수로, 10진수 구분 기호 뒤에 의 소수 부분을 나타내는 10진수 뒤에 소문자 로캘별 java.text.DecimalFormatSymbols#getExponentSeparator 지수 구분 기호(예: 'e') 뒤에 n을 10진수로 표현한 다음, n을 decimal ingerte로 표현합니다. 은 메서드Long#toString(long, int)에서 생성되고 0으로 패딩되어 두 자리 이상을 포함합니다.

m또는 의 소수 부분에 대한 결과의 숫자 수는 전체 자릿수와 같습니다. 전체 자릿수를 지정하지 않으면 기본값은 입니다 6. 전체 자릿수가 또는 Double#toString(double) 에서 각각 반환 Float#toString(float) 된 문자열의 소수점 다음에 표시되는 자릿수보다 작으면 java.math.RoundingMode#HALF_UP 반올림 알고리즘을 사용하여 값이 반올림됩니다. 그렇지 않으면 정밀도에 도달하기 위해 0을 추가할 수 있습니다. 값의 정식 표현의 경우 또는 Double#toString(double) 를 적절하게 사용합니다Float#toString(float).

플래그가 ',' 지정되면 가 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"'E'><td style="vertical-align:top"'&#92;u0045'<>td> 의 'e'대문자 변형입니다. 지수 기호는 대문자 로캘별 java.text.DecimalFormatSymbols#getExponentSeparator 지수 구분 기호(예: 'E')입니다.

<trth><scope="row" style="vertical-align:top">'g'<td style="vertical-align:top"'&#92;u0067'><td> 아래에 설명된 대로 출력의 형식을 일반 과학적 표기법으로 지정해야 합니다. 지역화 알고리즘이 적용됩니다.

전체 자릿수를 반올림한 후 결과 크기 m 의 서식은 해당 값에 따라 달라집니다.

m이 10<sup-4</sup>>보다 크거나 같지만 10<sup>precision</sup>보다 작으면 소수 형식으로 표시됩니다.

m이 10<sup-4</sup>>보다 작거나 10<sup>정밀도</sup>보다 크거나 같은 경우 전산화된 과학적 표기법으로 표시됩니다.

m의 총 유효 자릿수는 전체 자릿수와 같습니다. 전체 자릿수를 지정하지 않으면 기본값은 입니다 6. 전체 자릿수가 0이면 로 간주됩니다 1.

플래그가 '#' 지정되면 가 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"'G'><td style="vertical-align:top"'&#92;u0047'<>td> 의 'g'대문자 변형입니다.

<trth><scope="row" style="vertical-align:top"'f'><td style="vertical-align:top"'&#92;u0066'<>td> "decimal">decimal 형식을 사용하여 출력의 형식을 지정해야 합니다. 지역화 알고리즘이 적용됩니다.

결과는 인수의 부호와 크기(절대 값)를 나타내는 문자열입니다. 기호의 서식은 지역화 알고리즘에 설명되어 있습니다. 크기 m 의 서식은 해당 값에 따라 달라집니다.

m NaN 또는 infinite인 경우 각각 "NaN" 또는 "Infinity"라는 리터럴 문자열이 출력됩니다. 이러한 값은 지역화되지 않습니다.

크기는 선행 0이 없는 m의 정수 부분으로 서식이 지정되고 그 뒤에 10진수 구분 기호와 m의 소수 부분을 나타내는 10진수 이상의 숫자가 잇습니다.

m또는 의 소수 부분에 대한 결과의 숫자 수는 전체 자릿수와 같습니다. 전체 자릿수를 지정하지 않으면 기본값은 입니다 6. 전체 자릿수가 또는 Double#toString(double) 에서 각각 반환 Float#toString(float) 된 문자열의 소수점 다음에 표시되는 자릿수보다 작으면 java.math.RoundingMode#HALF_UP 반올림 알고리즘을 사용하여 값이 반올림됩니다. 그렇지 않으면 정밀도에 도달하기 위해 0을 추가할 수 있습니다. 값의 정식 표현의 경우 또는 Double#toString(double) 를 적절하게 사용합니다Float#toString(float).

<trth><scope="row" style="vertical-align:top"td style=">'a'<vertical-align:top"'&#92;u0061'><td> 출력 형식을 16진수 지수 형식으로 지정해야 합니다. 지역화가 적용되지 않습니다.

결과는 인수 x의 부호와 크기(절대 값)를 나타내는 문자열입니다.

x가 음수이거나 음수-0 값이면 결과는 ('&#92;u002d')로 '-' 시작됩니다.

x가 양수이거나 양수-0 값이고 플래그가 '+' 지정된 경우 결과는 ('&#92;u002b')로 '+' 시작됩니다.

크기 m 의 서식은 해당 값에 따라 달라집니다.

<ul>

<li> 값이 NaN 또는 infinite이면 각각 "NaN" 또는 "Infinity" 리터럴 문자열이 출력됩니다.

<li>m 이 0이면 문자열 "0x0.0p0"로 표시됩니다.

<li>m 이 정규화된 표현이 double 있는 값이면 부분 문자열을 사용하여 중요 및 지수 필드를 나타냅니다. significand는 문자 "0x1." 로 표현되고 나머지 의 16진수 표현이 분수로 표시됩니다. 지수는 지수 값에서 를 호출 Integer#toString(int) Integer.toString 하여 'p' 생성된 것처럼 ('&#92;u0070') 뒤에 편견이 없는 지수의 10진수 문자열로 표시됩니다. 전체 자릿수를 지정하면 값이 지정된 16진수 숫자로 반올림됩니다.

<li>mdouble 영숫자 표현이 있는 값이면 전체 자릿수가 1에서 12 사이의 범위에 포함되도록 지정되지 않는 한, significand는 문자 '0x0.' 로 표현되고 나머지 의 16진수 표현은 분수로 표시되고 는 가 나타내는 'p-1022'지수입니다. 전체 자릿수가 간격 [1, 인 경우 12], 영숫자 값은 문자 '0x1.'로 시작하여 전체 자릿수의 16진수로 반올림되고 그에 따라 지수가 조정되도록 정규화됩니다. 0이 아닌 숫자가 영하의 유의한 값에 하나 이상 있어야 합니다.

</ul>

또는 ',' 플래그가 '(' 지정되면 가 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"'A'><td style="vertical-align:top"'&#92;u0041'<>td> 의 'a'대문자 변형입니다. 숫자를 나타내는 전체 문자열은 () 및 ('&#92;u0070' 및 모든 16진수 숫자('&#92;u0066''&#92;u0078''&#92;u0061' - )를 포함하여 'x' 대문자로 변환됩니다 'a' - 'f' .'p'

</tbody></table>

바이트, Short, Integer 및 Long에 정의된 모든 플래그가 적용됩니다.

플래그가 '#' 지정되면 10진수 구분 기호가 항상 존재합니다.

"floatdFlags"> 플래그가 지정되지 않은 경우 기본 서식은 다음과 같습니다.

<ul>

<li> li 음수 내에서 width<> 출력이 오른쪽 맞춤되고 li 긍정 숫자로 '-'<> 시작하고 양수 0은 기호 또는 추가 선행 공간을 포함하지 않습니다.

<li> 그룹화 구분 기호가 포함되지 않음

<li> 소수 구분 기호는 숫자가 뒤에 오는 경우에만 표시됩니다.

</ul>

"floatDWidth"> 너비는 출력에 쓸 최소 문자 수입니다. 여기에는 무한대 및 NaN을 나타내는 기호, 숫자, 그룹화 구분 기호, 10진수 구분 기호, 지수 기호, 방사형 표시기, 괄호 및 문자열이 포함됩니다. 변환된 값의 길이가 너비보다 작으면 총 문자 수가 너비와 같을 때까지 출력이 공백('&#92;u0020')으로 채워집니다. 패딩은 기본적으로 왼쪽에 있습니다. 플래그가 '-' 지정되면 안쪽 여백이 오른쪽에 있습니다. 너비를 지정하지 않으면 최소값이 없습니다.

"floatDPrec"> 변환이 'e'또는 'f''E' 경우 전체 자릿수는 소수 구분 기호 뒤의 숫자 수입니다. 전체 자릿수를 지정하지 않으면 로 간주됩니다 6.

변환이 또는 'G''g' 경우 전체 자릿수는 반올림 후 결과 크기의 총 유효 자릿수입니다. 전체 자릿수를 지정하지 않으면 기본값은 입니다 6. 전체 자릿수가 0이면 로 간주됩니다 1.

변환이 또는 'A''a' 경우 전체 자릿수는 radix 점 뒤의 16진수 숫자입니다. 전체 자릿수가 제공되지 않으면 에서 반환 Double#toHexString(double) 된 모든 숫자가 출력됩니다.

"dnbdec"><b> BigDecimal </b>

다음 변환을 적용 java.math.BigDecimal BigDecimal할 수 있습니다.

<table class="striped"><캡션 style="display:none">floatConv</캡션><tbody>

<trth><scope="row" style="vertical-align:top"'e'><td style="vertical-align:top"'&#92;u0065'<>td> "bscientific">전산화된 과학적 표기법을 사용하여 출력의 형식을 지정해야 합니다. 지역화 알고리즘이 적용됩니다.

크기 m 의 서식은 해당 값에 따라 달라집니다.

m이 양수-0 또는 음수-0이면 지수는 가 됩니다"+00".

그렇지 않으면 결과는 인수의 부호와 크기(절대 값)를 나타내는 문자열입니다. 기호의 서식은 지역화 알고리즘에 설명되어 있습니다. 크기 m 의 서식은 해당 값에 따라 달라집니다.

n은 10<sup>n</sup> <= m < 10 supn+1</sup, 10<sup>n</sup>><> 수학적으로 정확한 몫이 되도록 1 <;= a < 10. 그런 다음, 크기 는 의 정수 부분으로, 10진수로, 그 뒤에 10진수 구분 기호, 의 소수 부분을 나타내는 10진 수, 지수 기호 'e' ('&#92;u0065')로, 그 뒤에 n을 10진수 정 수로Long#toString(long, int)표현합니다. 두 자리 이상을 포함하도록 패딩이 0개입니다.

m또는 의 소수 부분에 대한 결과의 숫자 수는 전체 자릿수와 같습니다. 전체 자릿수를 지정하지 않으면 기본값은 입니다 6. 전체 자릿수가 소수점 오른쪽의 숫자 수보다 작으면 java.math.RoundingMode#HALF_UP 반올림 알고리즘을 사용하여 값이 반올림됩니다. 그렇지 않으면 정밀도에 도달하기 위해 0을 추가할 수 있습니다. 값의 정식 표현의 경우 을 사용합니다 BigDecimal#toString().

플래그가 ',' 지정되면 가 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"'E'><td style="vertical-align:top"'&#92;u0045'<>td> 의 'e'대문자 변형입니다. 지수 기호는 ('&#92;u0045')입니다 'E' .

<trth><scope="row" style="vertical-align:top">'g'<td style="vertical-align:top"'&#92;u0067'><td> 아래에 설명된 대로 출력의 형식을 일반 과학적 표기법으로 지정해야 합니다. 지역화 알고리즘이 적용됩니다.

전체 자릿수를 반올림한 후 결과 크기 m 의 서식은 해당 값에 따라 달라집니다.

m이 10<sup-4></sup>보다 크거나 같지만 10<sup>precision</sup>보다 작으면 소수 형식으로 표시됩니다.

m이 10<sup-4></sup>보다 작거나 10<sup>precision</sup>보다 크거나 같으면 전산화된 과학적 표기법으로 표시됩니다.

m의 총 유효 자릿수는 전체 자릿수와 같습니다. 전체 자릿수를 지정하지 않으면 기본값은 입니다 6. 전체 자릿수가 0이면 로 간주됩니다 1.

플래그가 '#' 지정되면 이 FormatFlagsConversionMismatchException throw됩니다.

<trth><scope="row" style="vertical-align:top"td style=">'G'<vertical-align:top"'&#92;u0047'<>td> 의 'g'대문자 변형입니다.

<trth><scope="row" style="vertical-align:top"'f'><td style="vertical-align:top"'&#92;u0066'<>td> "bdecimal">decimal 형식을 사용하여 출력의 형식을 지정해야 합니다. 지역화 알고리즘이 적용됩니다.

결과는 인수의 부호와 크기(절대값)를 나타내는 문자열입니다. 기호의 서식은 지역화 알고리즘에 설명되어 있습니다. 크기 m 의 서식은 해당 값에 따라 달라집니다.

크기는 앞에 오는 0이 없는 m의 정수 부분으로 서식이 지정되고 그 뒤에 10진수 구분 기호와 m의 소수 부분을 나타내는 하나 이상의 소수 자릿수가 잇습니다.

m또는 의 소수 부분에 대한 결과의 숫자 수는 전체 자릿수와 같습니다. 전체 자릿수를 지정하지 않으면 기본값은 입니다 6. 전체 자릿수가 소수점 오른쪽의 자릿수보다 작으면 java.math.RoundingMode#HALF_UP 반올림 알고리즘을 사용하여 값이 반올림됩니다. 그렇지 않으면 전체 자릿수에 도달하기 위해 0이 추가될 수 있습니다. 값의 정식 표현의 경우 를 사용합니다 BigDecimal#toString().

</tbody></table>

Byte, Short, Integer 및 Long에 정의된 모든 플래그가 적용됩니다.

플래그가 '#' 지정되면 10진수 구분 기호가 항상 존재합니다.

플래그가 지정되지 않은 경우의 기본 동작은 Float 및 Double과 동일합니다.

너비 및 정밀도의 사양은 Float 및 Double에 대해 정의된 것과 동일합니다.

<h4>"ddt">Date/Time</h4>

이 변환은 , Long, CalendarTemporalAccessor TemporalAccessor<Date table class="스트라이프"캡션 style="<>display:none">DTConv</캡션<>tbody에 적용long할 수 있습니다.>

<trth><scope="row" style="vertical-align:top"td style=">'t'<vertical-align:top"'&#92;u0074'><td> prefix for date and time conversion characters. <trth><scope="row" style="vertical-align:top"td style=">'T'<vertical-align:top"'&#92;u0054'<>td> 의 't'대문자 변형입니다.

</tbody></table>

다음 날짜 및 시간 변환 문자 접미사는 및 'T' 변환에 't' 대해 정의됩니다. 형식은 GNU date 및 POSIX strftime(3c)에서 정의한 형식과 비슷하지만 완전히 동일하지는 않습니다. Java 관련 기능에 액세스하기 위해 추가 변환 형식이 제공됩니다(예: 'L' 초 내의 밀리초).

다음 변환 문자는 서식 지정 시간에 사용됩니다.

<table class="striped"><캡션 style="display:none">time</캡션><tbody>

<trth><scope="row" style="vertical-align:top">'H'<td style="vertical-align:top">'&#92;u0048'<td> 24시간 시계에 대한 하루 중 시간이며, 필요에 따라 앞에 0이 있는 두 자리로 서식이 지정됩니다. 즉00 - 2300, 자정에 해당합니다.

<trth><scope="row" style="vertical-align:top"'I'><td style="vertical-align:top"'&#92;u0049'<>td> Hour for the 12시간 클록, 즉 필요에 01 - 12따라 선행 0이 있는 두 자리 숫자로 서식이 지정됩니다. 01 은 1시(오전 또는 오후)에 해당합니다.

<trth><scope="row" style="vertical-align:top">'k'<td style="vertical-align:top">'&#92;u006b'<td> Hour of the day of the 24-hour clock, 즉 . 0 - 230

<trth><scope="row" style="vertical-align:top">'l'<td style="vertical-align:top">'&#92;u006c'<td> Hour for the 12시간 클록(예1 - 12: ..1)은 1시(오전 또는 오후)에 해당합니다.

<trth><scope="row" style="vertical-align:top"'M'><td style="vertical-align:top"'&#92;u004d'<>td> Minute 2자리 숫자로 서식이 지정된 시간 내의 시간(예00 - 59: )

<trth><scope="row" style="vertical-align:top">'S'<td style="vertical-align:top">'&#92;u0053'<td> Seconds in the minute, formatted as two digits with the leading zero as required as required, 즉 00 - 60 ("60"is a special value required to support leap seconds).

<trth><scope="row" style="vertical-align:top"'L'><td style="vertical-align:top"'&#92;u004c'<>td Millisecond> 2에서 필요에 따라 앞에 오는 0이 있는 3자리 숫자로 서식이 지정됩니다. 즉. 000 - 999

<trth><scope="row" style="vertical-align:top"'N'><td style="vertical-align:top"'&#92;u004e'<>td Nanosecond>를 두 번째 숫자로 지정하고 필요에 따라 선행 0이 있는 9자리 숫자로 서식이 지정됩니다( 예: ). 000000000 - 999999999 이 값의 정밀도는 기본 운영 체제 또는 하드웨어의 해상도에 의해 제한됩니다.

<trth><scope="row" style="vertical-align:top"'p'><td style="vertical-align:top"'&#92;u0070'<>td> Locale-specific java.text.DateFormatSymbols#getAmPmStrings 아침 또는 오후 표식(예: 소문자).""am 또는 "pm". 변환 접 'T' 두사를 사용하면 이 출력이 대문자로 강제 적용합니다. (는 'p' 소문자 출력을 생성합니다. 대문자 출력을 생성하는 GNU date 및 POSIX strftime(3c) 와 다릅니다.)

<trth><scope="row" style="vertical-align:top"'z'><td style="vertical-align:top"<'&#92;u007a'>td> RFC 822 style numeric time zone offset from GMT(예: ). -0800 이 값은 일광 절약 시간에 필요한 대로 조정됩니다. long, LongDate 에 사용되는 표준 시간대는 Java 가상 머신의 이 instance 대한 TimeZone#getDefault() 기본 표준 시간대입니다.

<trth><scope="row" style="vertical-align:top"td style=">'Z'<vertical-align:top"'&#92;u005a'><td> 표준 시간대의 약어를 나타내는 문자열입니다. 이 값은 일광 절약 시간에 필요한 대로 조정됩니다. long, LongDate 에 사용되는 표준 시간대는 Java 가상 머신의 이 instance 대한 TimeZone#getDefault() 기본 표준 시간대입니다. Formatter의 로캘은 인수의 로캘을 대체합니다(있는 경우).

<trth><scope="row" style="vertical-align:top"<'s'>td style="vertical-align:top">'&#92;u0073'<td> Seconds 이후 Epoch가 시작된 후 1970 00:00:00 년 1월 1일 UTC, 즉 Long.MIN_VALUE/1000Long.MAX_VALUE/1000에서 로

<trth><scope="row" style="vertical-align:top"><'Q'td style="vertical-align:top"<>'&#92;u004f'td Milliseconds> 이후 epoch가 시작된 후 1970 00:00:00 년 1월 1일 UTC( 예 Long.MIN_VALUELong.MAX_VALUE: ). 이 값의 정밀도는 기본 운영 체제 또는 하드웨어의 해상도에 의해 제한됩니다.

</tbody></table>

날짜 서식 지정에 사용되는 변환 문자는 다음과 같습니다.

<table class="striped"><캡션 style="display:none">date</캡션><tbody>

<trth><scope="row" style="vertical-align:top">'B'<td style="vertical-align:top">'&#92;u0042'<td> Locale-specific java.text.DateFormatSymbols#getMonths full month name,예: "January", . "February"

<trth><scope="row" style="vertical-align:top">'b'<td style="vertical-align:top">'&#92;u0062'<td> Locale-specific java.text.DateFormatSymbols#getShortMonths 약어 월 이름(예: "Jan", ) "Feb"

<trth><scope="row" style="vertical-align:top"'h'><td style="vertical-align:top"'&#92;u0068'<>td>와 동일합니다.'b'

<trth><scope="row" style="vertical-align:top"<'A'>td style="vertical-align:top"<'&#92;u0041'>td> Locale-specific full name of the java.text.DateFormatSymbols#getWeekdays day of the week, 예: "Sunday", tr><"Monday"< th scope="row" style="vertical-align:top"><'a'td style="vertical-align:top"td"'&#92;u0061'><td> java.text.DateFormatSymbols#getShortWeekdays 요일의 로캘별 짧은 이름입니다. 예를 들어 "Sun",<"Mon" tr><th scope="row" style="vertical-align:top"><'C'td style="vertical-align:top">'&#92;u0043'<td> 4자리 연도를 로 100나눈 후 필요에 따라 선행 0으로 두 자리로 서식이 지정됩니다(예00 - 99<: tr><th scope="row" style="vertical-align:top">'Y'<td style="vertical-align:top">'&#92;u0059'<td> Year, 필요에 따라 선행 0이 있는 4자리 이상의 숫자로 서식이 지정됩니다(예: 0092 그레고리력의 경우 CE와 같 92 음).

<trth><scope="row" style="vertical-align:top"'y'><td style="vertical-align:top"'&#92;u0079'<>td> 연중 마지막 두 자리 숫자로, 필요에 따라 앞에 오는 0으로 서식이 지정됩니다( 예: ). 00 - 99

<trth><scope="row" style="vertical-align:top"'j'><td style="vertical-align:top"'&#92;u006a'<>td> Day of year, 필요에 따라 앞에 오는 0이 있는 3자리 숫자로 서식이 지정됩니다(예: 001 - 366 그레고리오력의 경우). 001 는 해당 연도의 첫 번째 날에 해당합니다.

<trth><scope="row" style="vertical-align:top"<'m'>td style="vertical-align:top">'&#92;u006d'<td> Month, 필요에 따라 앞에 오는 0이 있는 두 자리 숫자로 서식이 지정됩니다. 즉01 - 13, 여기서 "01"는 연도의 첫 번째 달이며 ("13"는 음력 달력을 지원하는 데 필요한 특수 값임).

<tr><th scope="row" style="vertical-align:top">'d'<td style="vertical-align:top">'&#92;u0064'<td> Day of month, 필요에 따라 앞에 오는 0이 있는 두 자리 숫자로 서식이 지정됩니다. 즉01 - 31, 여기서 "01"는 월의 첫 번째 날입니다.

<trth><scope="row" style="vertical-align:top">'e'<td style="vertical-align:top">'&#92;u0065'<td> Day of month, 두 자리로 서식이 지정됩니다. 즉1 - 31, 여기서 "1"는 월의 첫 번째 날입니다.

</tbody></table>

다음 변환 문자는 일반적인 날짜/시간 컴퍼지션의 서식을 지정하는 데 사용됩니다.

<table class="striped"><캡션 style="display:none">composites</캡션><tbody>

<trth><scope="row" style="vertical-align:top"'R'><td style="vertical-align:top"'&#92;u0052'<>td> Time 형식은 tr "%tH:%tM"><<th scope="row" style="vertical-align:top"<'T'>td style="vertical-align:top"'&#92;u0054'<>td> Time 형식으로 24시간 클록"%tH:%tM:%tS"에 대해 형식이 지정됩니다.

<trth><scope="row" style="vertical-align:top"td style=">'r'<vertical-align:top"'&#92;u0072'<>td> Time 형식이 12시간 클록"%tI:%tM:%tS %Tp"에 대해 로 지정되었습니다. 아침 또는 오후 표식('%Tp')의 위치는 로캘에 따라 달라질 수 있습니다.

<trth><scope="row" style="vertical-align:top"td style=">'D'<vertical-align:top"'&#92;u0044'<>td> Date 형식이 로 "%tm/%td/%ty"지정되었습니다.

<trth><scope="row" style="vertical-align:top"'F'><td style="vertical-align:top"<'&#92;u0046'>td> ISO 8601 형식의 전체 날짜"%tY-%tm-%td"입니다.

<trth><scope="row" style="vertical-align:top">'c'<td style="vertical-align:top">'&#92;u0063'<td> Date 및 time formatted as "%ta %tb %td %tT %tZ %tY", 예: . "Sun Jul 20 16:17:00 EDT 1969"

</tbody></table>

'-' 일반 변환에 대해 정의된 플래그가 적용됩니다. 플래그가 '#' 지정되면 이 FormatFlagsConversionMismatchException throw됩니다.

너비는 출력에 쓸 최소 문자 수입니다. 변환된 값의 길이가 보다 width 작으면 총 문자 수가 너비와 같을 때까지 출력이 공백('&#92;u0020')으로 채워집니다. 안쪽 여백은 기본적으로 왼쪽에 있습니다. 플래그가 '-' 지정되면 안쪽 여백이 오른쪽에 있습니다. 너비를 지정하지 않으면 최소값이 없습니다.

정밀도는 적용할 수 없습니다. 전체 자릿수를 지정하면 이 IllegalFormatPrecisionException throw됩니다.

<h4>"dper">Percent</h4>

변환은 인수에 해당하지 않습니다.

<table class="striped"><캡션 style="display:none">DTConv</캡션><tbody>

<trth><scope="row" style="vertical-align:top"'%'<>td> 결과는 리터럴 '%' 입니다()'&#92;u0025'

너비는 를 포함하여 출력에 쓸 최소 문자 수입니다 '%'. 변환된 값의 길이가 보다 width 작으면 총 문자 수가 너비와 같을 때까지 출력이 공백('&#92;u0020')으로 채워집니다. 안쪽 여백이 왼쪽에 있습니다. width를 지정하지 않으면 가 '%' 출력됩니다.

'-' 일반 변환에 대해 정의된 플래그가 적용됩니다. 다른 플래그가 제공되면 이 FormatFlagsConversionMismatchException throw됩니다.

정밀도는 적용할 수 없습니다. 정밀도를 지정하면 이 IllegalFormatPrecisionException throw됩니다.

</tbody></table>

<h4>"dls">선 구분 기호</h4>

변환은 인수에 해당하지 않습니다.

<table class="striped"><캡션 style="display:none">DTConv</캡션><tbody>

<trth><scope="row" style="vertical-align:top"><'n'td> 로 반환System#lineSeparator()된 플랫폼별 선 구분 기호입니다.

</tbody></table>

플래그, 너비 및 정밀도는 적용되지 않습니다. 가 제공된 IllegalFormatFlagsException경우 , IllegalFormatWidthExceptionIllegalFormatPrecisionException가 각각 throw됩니다.

<h4>"dpos">Argument Index</h4>

형식 지정자는 다음 세 가지 방법으로 인수를 참조할 수 있습니다.

<ul>

<li>명시적 인덱싱 은 형식 지정자에 인수 인덱스가 포함된 경우에 사용됩니다. 인수 인덱스는 인수 목록에서 인수의 위치를 나타내는 10진수 정수입니다. 첫 번째 인수는 "1$", 두 번째 인수는 "2$"로 참조됩니다. 인수를 두 번 이상 참조할 수 있습니다.

예를 들면 다음과 같습니다.

<인용구>

formatter.format("%4$s %3$s %2$s %1$s %4$s %3$s %2$s %1$s",
                               "a", "b", "c", "d")
              // -&gt; "d c b a d c b a"

</인용구>

<li>상대 인덱싱은 형식 지정자에 이전 형식 지정자에 대한 인수를 다시 사용하는 ('&#92;u003c') 플래그를 포함하는 '<' 경우에 사용됩니다. 이전 인수가 없으면 이 MissingFormatArgumentException throw됩니다.

<인용구>

formatter.format("%s %s %&lt;s %&lt;s", "a", "b", "c", "d")
               // -&gt; "a b b b"
               // "c" and "d" are ignored because they are not referenced

</인용구>

<li>일반 인덱싱 은 형식 지정자에 인수 인덱스나 '<' 플래그가 포함되지 않은 경우에 사용됩니다. 일반 인덱싱을 사용하는 각 형식 지정자는 명시적 또는 상대 인덱싱에서 사용하는 인덱스와 무관한 순차적 암시적 인덱스를 인수 목록에 할당합니다.

<인용구>

formatter.format("%s %s %s %s", "a", "b", "c", "d")
              // -&gt; "a b c d"

</인용구>

</ul>

예를 들어 모든 형태의 인덱싱을 사용하는 형식 문자열이 있을 수 있습니다.

<인용구>

formatter.format("%2$s %s %&lt;s %s", "a", "b", "c", "d")
              // -&gt; "b a a b"
              // "c" and "d" are ignored because they are not referenced

</인용구>

인수의 최대 수는 Java&무역에서 정의한 대로 Java 배열의 최대 차원으로 <>제한됩니다. Virtual Machine 사양</인용>. 인수 인덱스가 사용 가능한 인수에 해당하지 않으면 가 MissingFormatArgumentException throw됩니다.

형식 지정자보다 더 많은 인수가 있는 경우 추가 인수는 무시됩니다.

달리 지정하지 않는 한 이 클래스의 null 메서드 또는 생성자에 인수를 전달하면 가 NullPointerException throw됩니다.

1.5에 추가되었습니다.

에 대한 Java 설명서입니다 java.util.Formatter.

이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.

생성자

Formatter()

새 포맷터를 생성합니다.

Formatter(File)

지정된 파일을 사용하여 새 포맷터를 생성합니다.

Formatter(File, Charset, Locale)

지정된 파일, 문자 집합 및 로캘을 사용하여 새 포맷터를 생성합니다.

Formatter(File, String)

지정된 파일 및 문자 집합을 사용하여 새 포맷터를 생성합니다.

Formatter(File, String, Locale)

지정된 파일, 문자 집합 및 로캘을 사용하여 새 포맷터를 생성합니다.

Formatter(IAppendable)

지정된 대상을 사용하여 새 포맷터를 생성합니다.

Formatter(IAppendable, Locale)

지정된 대상 및 로캘을 사용하여 새 포맷터를 생성합니다.

Formatter(Locale)

지정된 로캘을 사용하여 새 포맷터를 생성합니다.

Formatter(PrintStream)

지정된 인쇄 스트림을 사용하여 새 포맷터를 생성합니다.

Formatter(Stream)

지정된 출력 스트림을 사용하여 새 포맷터를 생성합니다.

Formatter(Stream, Charset, Locale)

지정된 출력 스트림, 문자 집합 및 로캘을 사용하여 새 포맷터를 생성합니다.

Formatter(Stream, String)

지정된 출력 스트림 및 문자 집합을 사용하여 새 포맷터를 생성합니다.

Formatter(Stream, String, Locale)

지정된 출력 스트림, 문자 집합 및 로캘을 사용하여 새 포맷터를 생성합니다.

Formatter(String)

지정된 파일 이름을 사용하여 새 포맷터를 생성합니다.

Formatter(String, Charset, Locale)

지정된 파일 이름, 문자 집합 및 로캘을 사용하여 새 포맷터를 생성합니다.

Formatter(String, String)

지정된 파일 이름과 문자 집합을 사용하여 새 포맷터를 생성합니다.

Formatter(String, String, Locale)

지정된 파일 이름, 문자 집합 및 로캘을 사용하여 새 포맷터를 생성합니다.

속성

Class

Object의 런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android instance 대한 핸들입니다.

(다음에서 상속됨 Object)
JniIdentityHashCode

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
JniPeerMembers

printf 스타일 형식 문자열에 대한 인터프리터입니다.

PeerReference

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)
ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)

메서드

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Close()

이 포맷터를 닫습니다.

Dispose()

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
Flush()

이 포맷터를 플러시합니다.

Format(Locale, String, Object[])

지정된 형식 문자열 및 인수를 사용하여 서식이 지정된 문자열을 이 개체의 대상에 씁니다.

Format(String, Object[])

지정된 형식 문자열 및 인수를 사용하여 서식이 지정된 문자열을 이 개체의 대상에 씁니다.

GetHashCode()

개체의 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
IoException()

이 포맷터의 에서 IOException 마지막으로 throw한 를 반환합니다 Appendable.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Locale()

이 포맷터를 생성하여 설정한 로캘을 반환합니다.

Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
Out()

출력의 대상을 반환합니다.

SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
ToArray<T>()

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 깨어날 때까지 대기하게 합니다( 일반적으로 <알림을 받><거나 <>중단/>em>)합니다<.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 깨어날 때까지 대기하게 합니다. 일반적으로 <>알림을 받<거나 <중단</>내보내>>거나 일정량의 실시간이 경과할 때까지 대기합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

printf 스타일 형식 문자열에 대한 인터프리터입니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

printf 스타일 형식 문자열에 대한 인터프리터입니다.

GetJniTypeName(IJavaPeerable)

printf 스타일 형식 문자열에 대한 인터프리터입니다.

FlushAsync(IFlushable)

printf 스타일 형식 문자열에 대한 인터프리터입니다.

적용 대상