Format [v1.1.17+]
가변 개수의 입력 값을 형식 문자열에 맞추어 포맷합니다.
String := Format(FormatStr [, Values...])
매개변수
- FormatStr
-
{Index:Format}
의 형태로 기호 텍스트와 위치보유자로 구성된 형식 문자열 .Index는 사용할 입력 값을 가리키는 정수입니다. 1이면 첫 번째 값입니다.
Format은, 아래에 기술하는 바와 같이, 선택적 형식 지정자입니다..
(이전에 문자열에 사용되었을지라도) 다음 입력 값을 연속열로 사용하려면 인덱스를 생략하십시오. 예를 들어,
"{2:i} {:i}"
는 두 번째와 세 번째 입력 값을 십진 정수로, 스페이스로 분리하여, 포맷합니다. Index를 생략하더라도, Format은 여전히:
앞에 와야 합니다. 빈 활괄호를 지정하면 다음 입력 값을 기본 형식으로 사용할 수 있습니다:{}
{{}
와{}}
를 사용하면 문자열에 문자 그대로의 활괄호를 포함할 수 있습니다. 다른 무효한 위치보유자는 결과에 있는 그대로 포함됩니다.공백은 활괄호 안에 허용되지 않습니다 (플래그로서 나타나는 것은 예외).
- Values
-
포맷되어 최종 문자열에 삽입될 입력 값들. 각 값은 별도의 매개변수입니다. 첫 값은 인덱스가 1입니다.
값 배열을 건네려면, 가변 함수 호출을 사용하십시오:
arr := [13, 240] MsgBox % Format("{2:x}{1:02x}", arr*)
형식 지정자
각 형식 지정자는 (스페이스 없이) 순서대로 다음 구성요소를 포함할 수 있습니다:
Flags Width .Precision ULT Type
Flags 출력 정렬과 접두사에 영향을 줍니다: -
+
0
space #
Width: 포맷 값의최소 너비를, 문자단위로 제어하는 십진 정수.
기본으로, 값들은 오른쪽에 정렬되고 스페이스가 패딩에 사용됩니다. 이것은-
(왼쪽-정렬) 그리고 0
(zero prefix) 플래그를 사용하여 오버라이드 할 수 있습니다.
.Precision: 문자열의 최대 개수, 십진 자리수, 또는 출력될 유효 자리를 제어하는 십진 정수. 출력 유형에 따라 달라집니다. 앞에 반드시 십진 소수점이 있어야 합니다. 정밀도를 지정하면 값이 잘려 나가거나 올림 내림 처리됩니다.
f
,e
,E
: Precision는 십진 소수점 다음의 자리수를 지정합니다. 기본 값은 6입니다.g
,G
: Precision는 유효 자리의 최대 개수를 지정합니다. 기본 값은 6입니다.s
: Precision는 인쇄될 문자의 최대 개수를 지정합니다. 이 값을 초과하는 문자들은 인쇄되지 않습니다.- 정수 유형에 대하여 (
d
,i
,u
,x
,X
,o
), Precision는 접두사가0
인 너비(Width)처럼 행동하고 기본 값은 1입니다.
ULT [v1.1.20+]: 문자열 값에 적용할 대소문자 변환을 지정합니다 -- Upper, Lower 또는 Title. 유형이 s
인 경우에만 유효합니다. 예를 들어 {:U}
또는 {:.20Ts}
. 소문자 l
과 t
로 지원하지만, u
는 부호없는 정수를 위해 예약되어 있습니다.
Type: 입력 값을 어떻게 번역할지 나타내는 문자. 생략하면, 기본값은 s
입니다.
플래그 | 의미 | 기본 행위 |
---|---|---|
- |
주어진 필드 너비 안에서 결과를 왼쪽 정렬합니다 (필요하면 스페이스를 오른쪽에 삽입합니다). | 오른쪽 정렬. |
+ |
출력 결과가 부호 있는 유형이면 부호 (+ 또는 -)를 앞에 둘 수 있습니다. | 부호는 음의 부호 값일 경우에만 나타납니다 (-). |
0 |
width 앞에 0이 있으면, 최소 너비에 도달할 때까지 앞쪽에 0이 추가됩니다. 0 과 - 가 모두 나타나면, 0이 무시됩니다. 0이 정수 형식으로 지정되고 (i, u, x, X, o, d) 그리고 정밀도도 지정되어 있으면 - 예를 들어, {:04.d} - 이 0은 무시됩니다. |
패딩 없음. |
space | 스페이스 하나를 사용하면 출력 결과가 양의 값일 경우 앞에 스페이스를 하나 둘 수 있습니다. 스페이스와 + 플래그가 모두 나타나면 그 스페이스는 무시됩니다. . |
스페이스 나타나지 않음. |
# |
o, x, or X 형식과 사용될 때, # 플래그는 0이 아닌 출력 값 앞에 e, E, f, a 또는 A 형식과 사용될 때, # 프래그는 강제로 출력 값이 소수점을 가지도록 만듭니다. g 또는 G 형식과 사용될 때, # 플래그는 강제로 출력 값에 소수점을 포함하도록 만들고 뒤에 따르는 0을 자르지 못하도록 방지합니다. c, d, i, u, 또는 s와 사용될 때는 무시됩니다. |
문자 | 인자 | 출력 형식 |
---|---|---|
d 또는 i |
Integer | 부호 있는 십진 정수. |
u |
Integer | 부호 없는 십진 정수. |
x or X |
Integer | 부호 없는 십육진 정수; x 의 격에 따라 "abcdef" 또는 "ABCDEF"를 사용합니다. 0x 접두사는 # 플래그가, {:#x} 처럼 사용되어야 포함됩니다. SetFormat과 일관성이 있게 십육진 형식을 지정하려면, 0x{:x} 비슷한 형식을 사용하십시오. |
o |
Integer | 부호 없는 팔진 정수. |
f |
Floating-point | 부호 있는 값. 형태가 [ - ]dddd.dddd 입니다. 여기에서 dddd는 하나 이상의 십진 자리입니다. 십진 소수점 앞의 자리수는 숫자의 크기에 따라 다릅니다. 그리고 십진 소수점 뒤의 자리수는 요청한 정밀도에 따라 달라집니다. |
e |
Floating-point | 부호 있는 값. 형태가 [ - ]d.dddd e [sign]dd[d] 입니다. 여기에서 d는 하나의 십진 자리이고, dddd는 하나 이상의 십진 자리이며, dd[d]는 두 세 개의 십진 자리로서 출력 형식과 지수의 크기, 그리고 부호가 +인가 - 인가에 따라 달라집니다. |
E |
Floating-point | e 형식과 동일합니다. 단, e 말고 E는 지수를 초래합니다. |
g |
Floating-point | 부호 있는 값은 f 또는 e 형식으로 보여집니다. 어느 쪽이든 주어진 값과 정밀도에 대하여 더 간결합니다. e 형식은 값의 지수가 -4보다 작거나 precision 인자보다 크거나 같을 경우에만 사용됩니다. 뒤따르는 0은 잘려 나가고, 십진 소수점은 다음에 하나 이상의 자리가 따라올 때만 나타납니다.. |
G |
Floating-point | g 형식과 동일합니다. 단, e말고 E이면 지수가 초래됩니다. |
a |
Floating-point | 부호 있는 십육진 배-정밀로 부동 소수점 값. 형태는 [?]0xh.hhhh pdd 입니다. 여기에서 h.hhhh는 가수(mantissa)의 십육진 자리입니다 (소문자 기호 사용). 그리고 dd는 지수를 위한 하나 이상의 자리입니다. 정밀도는 소수점 다음의 자리 수를 지정합니다. |
A |
Floating-point | a 형식과 동일합니다. 단, p 말고 P는 지수를 초래합니다. |
p |
Integer | 메모리 주소로서의 인자를 십육진 자리수로 표시합니다. |
s |
String | 문자열을 지정합니다. 입력 값이 숫치이면, 스크립트의 현재 숫자 형식을 사용하여 자동으로 문자열로 변환됩니다. 그 다음에 Width와 Precision 인자가 적용됩니다. |
c |
Character code | 서수 값으로 문자 하나를 지정합니다. Chr(n) 과 비슷합니다. 입력 값이 예상 범위를 벗어나면, 반올림 됩니다. |
논평
printf와 다르게, 크기 지정자는 지원되지 않습니다. 모든 정수와 부동 소수점 값은 64-비트입니다.
관련 항목
예제
; 간단한 교체 s .= Format("{2}, {1}!`r`n", "World", "Hello") ; 스페이스로 덧댐 s .= Format("|{:-10}|`r`n|{:10}|`r`n", "Left", "Right") ; 십육진수 s .= Format("{1:#x} {2:X} 0x{3:x}`r`n", 3735928559, 195948557, 0) ; 부동-소수점 수 s .= Format("{1:0.3f} {1:.10f}", 4*atan(1)) ListVars ; 오토핫키의 메인 창을 사용하여 단일폭 텍스트를 보여줍니다. WinWaitActive ahk_class AutoHotkey ControlSetText Edit1, %s% WinWaitClose