가변 개수의 입력 값을 형식 문자열에 맞추어 포맷합니다.
String := Format(FormatStr [, Values...])
{Index:Format}의 형태로 기호 텍스트와 위치보유자로 구성된 형식 문자열 .
Index는 사용할 입력 값을 가리키는 정수입니다. 1이면 첫 번째 값입니다.
Format은, 아래에 기술하는 바와 같이, 선택적 형식 지정자입니다..
(이전에 문자열에 사용되었을지라도) 다음 입력 값을 연속열로 사용하려면 인덱스를 생략하십시오.
예를 들어, "{2:i} {:i}"는 두 번째와 세 번째 입력 값을 십진 정수로, 스페이스로 분리하여, 포맷합니다. Index를 생략하더라도, Format은 여전히 : 앞에 와야 합니다. 빈 활괄호를 지정하면 다음 입력 값을 기본 형식으로 사용할 수 있습니다: {}
{{}와 {}}를 사용하면 문자열에 문자 그대로의 활괄호를 포함할 수 있습니다. 다른 무효한 위치보유자는 결과에 있는 그대로 포함됩니다.
공백은 활괄호 안에 허용되지 않습니다 (플래그로서 나타나는 것은 예외).
포맷되어 최종 문자열에 삽입될 입력 값들. 각 값은 별도의 매개변수입니다. 첫 값은 인덱스가 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