표준 숫자 형식 문자열
표준 숫자 서식 문자열은 일반 숫자 형식의 서식을 지정하는 데 사용됩니다. 표준 숫자 서식 문자열은 [format specifier][precision specifier]
형식을 취합니다. 여기서
형식 지정자는 숫자 형식의 형식(예: 통화 또는 백분율)을 지정하는 단일 알파벳 문자입니다. 공백을 포함하여 영문자가 두 개 이상 포함된 숫자 서식 문자열은 사용자 지정 숫자 서식 문자열로 해석됩니다. 자세한 내용은 사용자 지정 숫자 형식 문자열로 이동합니다.
전체 자릿수 지정자는 결과 문자열의 숫자 수에 영향을 주는 선택적 정수입니다. 전체 자릿수 지정자는 숫자의 문자열 표현에서 숫자 수를 제어합니다.
전체 자릿수 지정자가 결과 문자열의 소수 자릿수를 제어하는 경우 결과 문자열은 무한정 정확한 결과에 가장 가까운 표시 가능한 결과로 반올림되는 숫자를 반영합니다.
참고 항목
전체 자릿수 지정자는 결과 문자열의 자릿수를 결정합니다. 선행 또는 후행 공백 또는 다른 문자(예: 0)를 사용하여 결과 문자열을 패딩하려면 Text.PadStart 및 Text.PadEnd 함수를 사용하고, 이러한 함수의 전체 길이
count
사용하여 결과 문자열을 패딩합니다.
표준 숫자 형식 문자열은 Number.ToText 함수에서 지원됩니다.
표준 형식 지정자
다음 표에서는 표준 숫자 서식 지정자 및 각 서식 지정자로 생성되는 샘플 출력을 보여 줍니다. 표준 숫자 형식 문자열을 사용하는 방법에 대한 추가 정보는 Notes 섹션으로 이동하고, 코드 예제 섹션을 참조하세요.
참고 항목
특정 문화권에 대한 형식이 지정된 문자열의 결과는 다음 예제와 다를 수 있습니다. 사용하는 시스템의 운영 체제 설정, 사용자 설정, 환경 변수 및 기타 설정은 모두 형식에 영향을 줄 수 있습니다.
형식 지정자 | 속성 | 설명 | 예제 |
---|---|---|---|
"C" 또는 "c" | 통화 | 결과: 통화 값 지원되는 형식: 모든 숫자 형식 전체 자릿수 지정자: 소수 자릿수 기본 전체 자릿수 지정자: 문화권에 의해 정의됩니다. 추가 정보: 통화("C") 서식 지정자 |
123.456("C", en-US) -> \$123.46 123.456("C", fr-FR) -> 123,46 € 123.456 ("C", ja-JP) -> 123엔 -123.456("C3", en-US) -> (\$123.456) -123.456("C3", fr-FR) -> -123,456 € -123.456("C3", ja-JP) -> -123.456 |
"D" 또는 "d" | 소수 | 결과: 정수(선택적 음수 기호 포함) 지원되는 형식: 정수 계열 형식만 지원됨 전체 자릿수 지정자: 최소 자릿수 기본 전체 자릿수 지정자: 필요한 최소 자릿수 추가 정보: 10진수("D") 서식 지정자 |
1234("D") -> 1234 -1234("D6") -> -001234 |
"E" 또는 "e" | 지수(과학적 표기법) | 결과: 지수 표기법 지원되는 형식: 모든 숫자 형식 전체 자릿수 지정자: 소수 자릿수 기본 전체 자릿수 지정자: 6 추가 정보: "E"(지수) 서식 지정자 |
1052.0329112756 ("E", en-US) -> 1.052033E+003 1052.0329112756("e", fr-FR) -> 1,052033e+003 -1052.0329112756("e2", en-US) -> -1.05e+003 -1052.0329112756("E2", fr-FR) -> -1,05E+003 |
"F" 또는 "f" | 고정 소수점 | 결과: 선택적 음수 기호가 있는 정수 부분과 소수 부분 지원되는 형식: 모든 숫자 형식 전체 자릿수 지정자: 소수 자릿수 기본 전체 자릿수 지정자: 문화권에 의해 정의됩니다. 추가 정보: 고정 소수점("F") 서식 지정자 |
1234.567 ("F", en-US) -> 1234.57 1234.567("F", de-DE) -> 1234,57 1234("F1", en-US) -> 1234.0 1234("F1", de-DE) -> 1234,0 -1234.56("F4", en-US) -> -1234.5600 -1234.56("F4", de-DE) -> -1234,5600 |
"G" 또는 "g" | 일반 | 결과: 더 간단한 형태의 고정 소수점 또는 과학적 표기법 지원되는 형식: 모든 숫자 형식 전체 자릿수 지정자: 유효 자릿수 기본 전체 자릿수 지정자: 숫자 형식에 따라 다름 추가 정보: 일반("G") 서식 지정자 |
-123.456("G", en-US) -> -123.456 -123.456("G", sv-SE) -> -123,456 123.4546("G4", en-US) -> 123.5 123.4546("G4", sv-SE) -> 123,5 -1.234567890e-25("G", en-US) -> -1.23456789E-25 -1.234567890e-25("G", sv-SE) -> -1,23456789E-25 |
"N" 또는 "n" | number | 결과: 선택적 음수 기호가 있는 정수 부분과 소수 부분, 그룹 구분 기호 및 소수 구분 기호 지원되는 형식: 모든 숫자 형식 전체 자릿수 지정자: 필요한 소수 자릿수 기본 전체 자릿수 지정자: 문화권에 의해 정의됩니다. 추가 정보: 숫자("N") 서식 지정자 |
1234.567 ("N", en-US) -> 1,234.57 1234.567("N", ru-RU) -> 1 234,57 1234 ("N1", en-US) -> 1,234.0 1234("N1", ru-RU) -> 1 234,0 -1234.56("N3", en-US) -> -1,234.560 -1234.56("N3", ru-RU) -> -1 234,560 |
"P" 또는 "p" | Percent | 결과: 100으로 곱하고 백분율 기호와 함께 표시되는 숫자 지원되는 형식: 모든 숫자 형식 전체 자릿수 지정자: 필요한 소수 자릿수 기본 전체 자릿수 지정자: 문화권에 의해 정의됩니다. 추가 정보: 백분율("P") 서식 지정자 |
1("P", en-US) -> 100.00 % 1("P", fr-FR) -> 100,000 % -0.39678("P1", en-US) -> -39.7% -0.39678("P1", fr-FR) -> -39,7% |
"X" 또는 "x" | 16진수 | 결과: 16진수 문자열 지원되는 형식: 정수 계열 형식만 지원됨 전체 자릿수 지정자: 결과 문자열의 자릿수 추가 정보: 16진수("X") 형식 지정자입니다. |
255("X") -> FF -1("x") -> ff 255("x4") -> 00ff -1("X4") -> 00FF |
기타 모든 단일 문자 | 알 수 없는 지정자 | 결과: 런타임에 식 오류를 throw합니다. |
표준 숫자 형식 문자열 사용
표준 숫자 서식 문자열을 사용하여 숫자 값의 서식을 정의할 수 있습니다.
Number.ToText
format
매개 변수에 전달할 수 있습니다. 다음 예제에서는 숫자 값의 서식을 현재 문화권(이 예제의 경우 en-US)의 통화 문자열로 지정합니다.
Number.ToText(123.456, "C2")
// Displays $123.46
필요에 따라 Text.PadStart 및 Text.PadEnd 함수에 count
인수를 제공하여 숫자 필드의 너비와 해당 값이 오른쪽 또는 왼쪽 맞춤인지 여부를 지정할 수 있습니다. 예를 들어 다음 샘플에서는 28자 필드의 통화 값을 왼쪽으로 정렬하고 모노스페이스 글꼴을 사용하는 경우 14자 필드의 통화 값을 오른쪽에 맞춥니다.
let
amounts = {16305.32, 18794.16},
result = Text.Format(" Beginning Balance Ending Balance#(cr,lf) #{0}#{1}",
{
Text.PadEnd(Number.ToText(amounts{0}, "C2"), 28),
Text.PadStart(Number.ToText(amounts{1}, "C2"), 14)
})
in
result
// Displays:
// Beginning Balance Ending Balance
// $16,305.32 $18,794.16
다음 단원에서는 각 표준 숫자 서식 문자열에 대해 자세히 설명합니다.
통화 형식 지정자(C)
통화("C") 서식 지정자는 숫자를 통화 금액을 나타내는 숫자로 변환합니다. 전체 자릿수 지정자는 결과 문자열에 필요한 소수 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 통화 값에 사용할 기본 소수 자릿수는 2입니다.
서식을 지정할 값의 소수 자릿수가 지정된 소수 자릿수 또는 기본 소수 자릿수보다 크면 결과 문자열에서 소수 값이 반올림됩니다. 지정한 소수 자릿수의 오른쪽에 있는 값이 5 이상인 경우 결과 문자열에서 마지막 자릿수가 양수인 경우 올림, 음수인 경우 내림됩니다(Round Away From Zero 방식).
결과 문자열은 현재 문화권의 서식 지정 정보의 영향을 받습니다.
다음 예제에서는 통화 서식 지정자를 사용하여 값의 서식을 지정합니다.
let
Source =
{
Number.ToText(12345.6789, "C"),
Number.ToText(12345.6789, "C3"),
Number.ToText(12345.6789, "C3", "da-DK")
}
in
Source
// The example displays the following list on a system whose
// current culture is English (United States):
// $12,345.68
// $12,345.679
// 12.345,679 kr.
10진수 형식 지정자(D)
10진수("D") 서식 지정자는 숫자를 10진수(0-9) 문자열로 변환하며, 숫자가 음수이면 앞에 빼기 기호를 붙입니다. 이 서식은 정수 계열 형식에만 사용할 수 있습니다.
전체 자릿수 지정자는 결과 문자열에서 요구하는 최소 자릿수를 나타냅니다. 필요하면 수의 왼쪽을 0으로 채워서 전체 자릿수 지정자에서 지정한 자릿수를 만듭니다. 전체 자릿수 지정자가 지정되지 않은 경우 기본값은 앞에 0이 없이 정수를 나타내는 데 필요한 최소값입니다.
결과 문자열은 현재 문화권의 서식 지정 정보의 영향을 받습니다.
다음은 10진수 서식 지정자를 사용하여 값의 서식을 지정하는 예제입니다.
let
Source =
{
Number.ToText(12345, "D"),
// Displays 12345
Number.ToText(12345, "D8"),
// Displays 00012345
Number.ToText(-12345, "D"),
// Displays -12345
Number.ToText(-12345, "D8")
// Displays -00012345
}
in
Source
지수 형식 지정자(E)
지수("E") 서식 지정자는 숫자를 "-d.ddd…E+ddd" 또는 "-d.ddd…e+ddd" 형태의 문자열로 변환합니다. 여기서 각 "d"는 숫자(0-9)를 나타냅니다. 숫자가 음수이면 문자열 앞에 빼기 기호가 붙습니다. 소수점 앞에는 항상 숫자가 하나만 있어야 합니다.
전체 자릿수 지정자는 소수점 뒤에 필요한 자릿수를 나타냅니다. 전체 자릿수 지정자가 생략되면 소수점 뒤에 기본 6자리가 사용됩니다.
서식 지정자의 대/소문자에 따라 지수에 "E" 또는 "e" 접두사를 붙일 것인지가 결정됩니다. 지수는 항상 더하기 또는 빼기 기호가 포함된 최소 3자리로 구성됩니다. 필요하면 지수를 0으로 채워서 이 조건을 만족시킵니다.
결과 문자열은 현재 문화권의 서식 지정 정보의 영향을 받습니다.
다음 예제에서는 지수 서식 지정자를 사용하여 값의 서식을 지정합니다.
let
Source =
{
Number.ToText(12345.6789, "E", ""),
// Displays 1.234568E+004
Number.ToText(12345.6789, "E10", ""),
// Displays 1.2345678900E+004
Number.ToText(12345.6789, "e4", ""),
// 1.2346e+004
Number.ToText(12345.6789, "E", "fr-FR")
// Displays 1,234568E+004
}
in
Source
참고 항목
이전 샘플에서 Number.ToText 마지막 매개 변수의 빈 텍스트 값("")은 고정 문화권을 나타냅니다.
고정 소수점 형식 지정자(F)
고정 소수점("F") 서식 지정자는 숫자를 "-ddd.ddd…" 형태의 문자열로 변환합니다. 여기서 각 "d"는 숫자(0-9)를 나타냅니다. 숫자가 음수이면 문자열 앞에 빼기 기호가 붙습니다.
전체 자릿수 지정자는 필요한 소수 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 숫자 값에 사용할 기본 소수 자릿수는 2입니다.
결과 문자열은 현재 문화권의 서식 지정 정보의 영향을 받습니다.
다음 예제에서는 고정 소수점 형식 지정자를 사용하여 double 및 정수 값의 서식을 지정합니다.
let
Source =
{
Number.ToText(17843, "F", ""),
// Displays 17843.00
Number.ToText(-29541, "F3", ""),
// Displays -29541.000
Number.ToText(18934.1879, "F", ""),
// Displays 18934.19
Number.ToText(18934.1879, "F0", ""),
// Displays 18934
Number.ToText(-1898300.1987, "F1", ""),
// Displays -1898300.2
Number.ToText(-1898300.1987, "F3", "es-ES")
// Displays -1898300,199
}
in
Source
일반 형식 지정자(G)
일반("G") 서식 지정자는 숫자의 형식 및 전체 자릿수 지정자의 유무에 따라 숫자를 고정 소수점 또는 과학적 표기법 중에서 더 간단한 서식으로 변환합니다. 전체 자릿수 지정자는 결과 문자열에 표시할 수 있는 최대 유효 자릿수를 정의합니다. 전체 자릿수 지정자가 생략되거나 0이면 다음 표에 나와 있는 대로 숫자의 형식에 따라 기본 자릿수가 결정됩니다.
숫자 형식 | 기본 전체 자릿수 |
---|---|
Byte.Type 또는 Int8.Type |
3개의 자릿수 |
Int16.Type |
5개의 자릿수 |
Int32.Type |
10개의 자릿수 |
Int64.Type |
19개의 자릿수 |
Single.Type |
9자리 |
Double.Type |
17자리 숫자 |
Decimal.Type |
15자리 |
숫자를 과학적 표기법으로 나타낸 값이 -5보다 크고 전체 자릿수 지정자보다 작으면 고정 소수점 표기법이 사용되고 그러지 않으면 과학적 표기법이 사용됩니다. 필요한 경우 결과에 소수점이 포함되고 소수점 뒤에 오는 0은 생략됩니다. 전체 자릿수 지정자가 있고 결과의 유효 숫자가 지정된 자릿수를 초과하면 뒤에 오는 초과 자릿수는 반올림을 통해 제거됩니다.
그러나 숫자가 Decimal.Type
일 때 전체 자릿수 지정자가 생략되면 항상 고정 소수점 표기법이 사용되며 뒤에 오는 0은 그대로 표시됩니다.
과학적 표기법이 사용되면 서식 지정자가 'G'인 경우 결과의 지수 값 앞에 "E"가 붙고 서식 지정자가 "g"인 경우 앞에 "e"가 붙습니다. 지수는 최소한 2자리로 구성됩니다. 이는 지수 서식 지정자에 의해 생성되며 계수가 최소한 3자리로 구성되는 과학적 표기법의 서식과 다른 점입니다.
결과 문자열은 현재 문화권의 서식 지정 정보의 영향을 받습니다.
다음 예제에서는 일반 서식 지정자를 사용하여 분류된 부동 소수점 값에 서식을 지정합니다.
let
Source =
{
Number.ToText(12345.6789, "G", ""),
// Displays 12345.6789
Number.ToText(12345.6789, "G", "fr-FR"),
// Displays 12345,6789
Number.ToText(12345.6789, "G7", ""),
// Displays 12345.68
Number.ToText(.0000023, "G", ""),
// Displays 2.3E-06
Number.ToText(.0000023, "G", "fr-FR"),
// Displays 2,3E-06
Number.ToText(.0023, "G", ""),
// Displays 0.0023
Number.ToText(1234, "G2", ""),
// Displays 1.2E+03
Number.ToText(Number.PI, "G5", "")
// Displays 3.1416
}
in
Source
숫자 형식 지정자(N)
숫자("N") 서식 지정자는 숫자를 "-d,ddd,ddd.ddd…" 형태의 문자열로 변환합니다. 여기서 "-"는 필요한 경우 음수 기호를 나타내고, "d"는 숫자(0-9)를 나타내고, ","는 그룹 구분 기호를 나타내고, "."은 소수점 기호를 나타냅니다. 전체 자릿수 지정자는 소수점 뒤에 필요한 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 소수 자릿수가 현재 문화권에 의해 정의됩니다.
결과 문자열은 현재 문화권의 서식 지정 정보의 영향을 받습니다.
다음 예제에서는 숫자 서식 지정자를 사용하여 분류된 부동 소수점 값에 서식을 지정합니다.
let
Source =
{
Number.ToText(-12445.6789, "N", ""),
// Displays -12,445.68
Number.ToText(-12445.6789, "N1", "sv-SE"),
// Displays -12 445,7
Number.ToText(123456789, "N1", "")
// Displays 123,456,789.0
}
in
Source
백분율 형식 지정자(P)
백분율("P") 서식 지정자는 숫자를 100으로 곱한 다음 백분율을 나타내는 문자열로 변환합니다. 전체 자릿수 지정자는 필요한 소수 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 현재 문화권에서 제공하는 기본 숫자 정밀도가 사용됩니다.
다음 예제에서는 백분율 서식 지정자를 사용하여 부동 소수점 값에 서식을 지정합니다.
let
Source =
{
Number.ToText(.2468013, "P", ""),
// Displays 24.68 %
Number.ToText(.2468013, "P", "hr-HR"),
// Displays 24,68 %
Number.ToText(.2468013, "P1", "en-US")
// Displays 24.7%
}
in
Source
16진수 형식 지정자(X)
16진수("X") 서식 지정자는 숫자를 16진수 문자열로 변환합니다. 서식 지정자의 대/소문자에 따라 9보다 큰 16진수에 대문자를 사용할지 아니면 소문자를 사용할지 여부가 결정됩니다. 예를 들어, "X"를 사용하면 "ABCDEF"가 만들어지고 "x"를 사용하면 "abcdef"가 만들어집니다. 이 서식은 정수 계열 형식에만 사용할 수 있습니다.
전체 자릿수 지정자는 결과 문자열에서 요구하는 최소 자릿수를 나타냅니다. 필요하면 수의 왼쪽을 0으로 채워서 전체 자릿수 지정자에서 지정한 자릿수를 만듭니다.
결과 문자열은 현재 문화권의 서식 지정 정보의 영향을 받지 않습니다.
다음 예제에서는 16진수 서식 지정자를 사용하여 값의 서식을 지정합니다.
let
Source =
{
Number.ToText(0x2045e, "x"),
// Displays 2045e
Number.ToText(0x2045e, "X"),
// Displays 2045E
Number.ToText(0x2045e, "X8"),
// Displays 0002045E
Number.ToText(123456789, "X"),
// Displays 75BCD15
Number.ToText(123456789, "X2")
// Displays 75BCD15
}
in
Source
주의
이 섹션에는 표준 숫자 형식 문자열 사용에 대한 추가 정보가 포함되어 있습니다.
정수 및 부동 소수점 숫자 형식
표준 숫자 서식 지정자에 대한 설명 중에는 정수 계열 및 부동 소수점 숫자 형식이 언급되어 있습니다. 정수 계열 숫자 형식은 Byte.Type
, Int8.Type
Int16.Type
, Int32.Type
및Int64.Type
입니다. 부동 소수점 숫자 형식은 Decimal.Type
, Single.Type
및 Double.Type
입니다.
부동 소수점 무한대 및 NaN
형식 문자열에 관계없이 Decimal.Type
, Single.Type
또는 Double.Type
부동 소수점 형식의 값이 무한대, 음수 무한대 또는 숫자(NaN)가 아닌 경우 서식이 지정된 문자열은 현재 적용 가능한 문화권에 지정된 각 Number.PositiveInfinity, Number.NegativeInfinity또는 Number.NaN 상수의 값입니다.
코드 예
다음 예제에서는 en-US 문화권 및 모든 표준 숫자 형식 지정자를 사용하여 부동 소수점 및 정수 숫자 값의 서식을 지정합니다. 이 예제에서는 두 개의 특정 숫자 형식(Double.Type
및Int32.Type
)을 사용하지만 다른 숫자 기본 형식(Byte.Type
, , Decimal.Type
, Int8.Type
Int16.Type
Int64.Type
및Single.Type
)에 대해 유사한 결과를 생성합니다.
let
// Display text representations of numbers for en-US culture
culture = "en-US",
// Output floating point values
floating = Double.From(10761.937554),
#"Floating results" =
{
Text.Format("C: #{0}", {Number.ToText(floating, "C", culture)}), // Displays "C: $10,761.94"
Text.Format("E: #{0}", {Number.ToText(floating, "E03", culture)}), // Displays "E: 1.076E+004"
Text.Format("F: #{0}", {Number.ToText(floating, "F04", culture)}), // Displays "F: 10761.9376"
Text.Format("G: #{0}", {Number.ToText(floating, "G", culture)}), // Displays "G: 10761.937554"
Text.Format("N: #{0}", {Number.ToText(floating, "N03", culture)}), // Displays "N: 10,761.938"
Text.Format("P: #{0}", {Number.ToText(floating/10000, "P02", culture)}) // Displays "P: 107.62%"
},
// Output integral values
integral = Int32.From(8395),
#"Integral results" =
{
Text.Format("C: #{0}", {Number.ToText(integral, "C", culture)}), // Displays "C: $8,395.00"
Text.Format("D: #{0}", {Number.ToText(integral, "D6", culture)}), // Displays "D: 008395"
Text.Format("E: #{0}", {Number.ToText(integral, "E03", culture)}), // Displays "E: 8.395E+003"
Text.Format("F: #{0}", {Number.ToText(integral, "F01", culture)}), // Displays "F: 8395.0"
Text.Format("G: #{0}", {Number.ToText(integral, "G", culture)}), // Displays "G: 8395"
Text.Format("N: #{0}", {Number.ToText(integral, "N01", culture)}), // Displays "N: 8,395.0"
Text.Format("P: #{0}", {Number.ToText(integral/10000, "P02", culture)}), // Displays "P: 83.95%"
Text.Format("X: 0x#{0}", {Number.ToText(integral, "X", culture)}) // Displays "X: 0x20CB"
},
results = #"Floating results" & #"Integral results"
in
results