문자열 포맷, 숫자를 문자열로 변환, 문자열에 디스플레이할 수 없는 문자를 삽입할 때 포맷 지정자를 사용합니다.

[문자열로 포맷][배열을 스프레드시트 문자열로]와 같은 문자열을 출력으로 내보내는 함수에서, 포맷 지정자는 다음의 구문 원소를 사용합니다. 중복 괄호 []는 옵션 원소를 포함합니다.

%[$][-][+][#][^][0][길이][.정밀도||_유효숫자][{ 단위 }][< 내장 정보 >] 변환 코드

길이는 반드시 제로보다 커야 하며 .정밀도_유효숫자는 반드시 0과 같거나 커야 합니다.

[문자열로부터 스캔][스프레드시트 문자열을 배열로]와 같이 문자열을 스캔하는 함수의 경우, 포맷 지정자는 다음과 같이 단순화된 구문 원소를 사용합니다.

%[폭]변환 코드

[문자열로 포맷], [파일로 포맷], [문자열로부터 스캔], [파일로부터 스캔] 함수는, 확장 가능 함수의 각 입력 및 출력에 하나씩, 포맷 문자열 입력에서 여러 포맷 지정자를 사용할 수 있습니다.

포맷 지정자 구문 원소

다음 테이블은 포맷 지정자를 위한 구문 원소를 디스플레이합니다. 추가적인 정보는 포맷 지정자의 예제를 참조합니다.

표 1.
구문 원소 설명
% 포맷 지정자를 시작합니다.
$ (옵션) 포맷팅 함수를 사용할 때, 이 변경자는 변수를 디스플레이하는 순서를 지정합니다. 변수의 순서를 나타내는 자릿수를 이 변경자 바로 앞에 포함시킵니다.
- (옵션) 포맷팅 함수를 사용할 때, 변경자는 파라미터를 그 전체 폭에서 오른쪽이 아닌 왼쪽으로 자리맞춤합니다.
+ (옵션) 포맷팅 함수를 사용할 때, 이 변경자는 양의 숫자인 경우도 부호를 포함합니다.
^ (옵션) 포맷팅 함수와 e 또는 g 변환 코드를 사용할 때, 지수가 항상 3의 배수인 경우, 이 원소는 공학적 표기법에서 숫자를 포맷합니다.
# (옵션) 포맷팅 함수를 사용할 때, 이 변경자는 뒤따르는 제로를 제거합니다. 숫자가 소수 부분을 가지고 있지 않다면, 이 변경자는 또한 설명 부분을 제거합니다.
0 (옵션) 포맷팅 함수를 사용할 때, - 조합키 없이 이 조합키를 사용하여 스페이스 대신 제로로 숫자형 파라미터의 왼쪽 남은 공간을 채워서 최소 폭에 알맞게 합니다.
(옵션) 문자열로부터 스캔과 같은 스캐닝 함수를 사용할 때, 원소는 사용할 최대 문자 필드 폭을 지정합니다. LabVIEW는 파라미터를 처리할 때 최대 문자 개수를 스캔합니다. 포맷팅 함수를 사용할 때, 원소는 출력의 최소 문자 필드 폭을 지정합니다. 이 폭은 최대 폭이 아닙니다. LabVIEW는 파라미터를 잘라낼 수가 없기 때문에 포맷하기 위해 필요한 많은 문자를 사용합니다. LabVIEW는 공간에서 자리맞춤에 따라 파라미터의 왼쪽 또는 오른쪽에 필드를 채웁니다. 이 없거나 0이면, 출력은 변환된 입력 파라미터를 포함하기 위해 필요한 만큼만 길어집니다.
.Precision or _Significant Digits (옵션) 포맷팅 함수를 사용할 때, . 또는 _는 디스플레이되는 자릿수 개수를 컨트롤합니다. .을 사용한다면, LabVIEW는 소수점의 오른쪽에 자릿수를 위한 정밀도 지정자를 따르는 숫자를 사용합니다. _를 사용한다면, LabVIEW는 디스플레이 포맷으로 사용하기 위해 유효 숫자의 지정된 숫자를 따르는 숫자를 사용합니다.

.정밀도―부동소수 표기법을 사용할 때, 이 원소는 소수점 오른쪽의 자릿수로 지정됩니다. .이 나타나지 않았다면, LabVIEW는 여섯 자릿수의 정밀도를 사용합니다. .이 0이면, LabVIEW는 정밀도를 입력하지 않습니다. 문자열 파라미터와 함께 사용했을 때, .정밀도는 스캔한 필드의 최대 폭을 지정합니다. LabVIEW는 이 길이보다 길게 문자열을 잘라냅니다.

_유효 숫자―지정한 자릿수로 반올림하여 데이터를 디스플레이합니다. LabVIEW는 디스플레이 목적으로만 데이터를 반올림하며, 이는 원래 데이터에 영향을 미치지 않습니다. .정밀도는 소수점 오른쪽의 자릿수에만 영향을 미치며, _유효 숫자는 간격이 없는 모든 자릿수를 포함합니다. 예를 들어,
  • 3.457은 4개의 유효 숫자를 가집니다.
  • 0.0012은 2개의 유효 숫자를 가집니다.
  • 123000은 3개의 유효 숫자를 가집니다.
노트 하나의 포맷 지정자에서 정밀도와 유효 숫자를 함께 사용할 수 없습니다.

단정도 부동소수에서, National Instruments는 _유효 숫자에 1에서 6까지의 값만 사용하도록 권장합니다. 배정도 확장형 부동소수에서, National Instruments는 _유효 숫자에 1에서 13까지의 값만 사용하도록 권장합니다.

{단위} (옵션) 물리량(단위와 연관된 값)을 변환하는 함수를 사용할 때 VI의 원래 단위를 덮어씁니다. 반드시 적합한 단위를 사용해야 합니다. 문자열로 포맷 함수에서만 이 구문 원소를 사용합니다.
<임베디드 시간 포맷> (옵션) T (절대 시간) 및 t (상대 시간) 변환 코드와 함께 사용할 수 있도록 시간 특정 포맷 문자열을 포함합니다. 유효한 포맷 문자열에 대해서는 시간 포맷 문자열을 위한 포맷 코드를 참조하십시오. %W, %D, %H, %M, %S, %u만이 상대 시간에 적용됩니다.
변환 코드 파라미터를 스캔 또는 포맷하는 방법을 지정한 문자입니다.
정수 및 고정소수점 수를 위해 다음의 변환 코드를 사용합니다:
  • x―16진 정수 (예를 들면, B8).
  • o―8진 정수(예를 들면. 701).
  • b―2진 정수(예를 들면. 1011).
  • d―부호있는 10진 정수.
  • u―부호없는 10진 정수.
부동소수 및 고정소수점 수를 위해 다음의 변환 코드를 사용합니다:
  • f―소수점 포맷의 부동소수(예를 들면, 12.345).
  • e―과학적 표기법의 부동소수(예를 들면, 1.234E1).
  • g―LabVIEW는 해당 수의 지수에 따라 f 또는 e를 사용합니다. LabVIEW는 지수가 -4보다 크거나 지정된 정밀도보다 작으면 f를 사용합니다. LabVIEW는 지수가 -4보다 작거나 지정된 정밀도보다 크면 e를 사용합니다.
  • p―SI 표기법의 부동소수.
다음 문자열을 위한 변환 코드를 사용합니다:
  • s―문자열(예를 들면, abc). 스캔할 때, s는 다음에 흰색 스페이스 문자가 나타날 때까지 일치됩니다. 공간은 하나 또는 그 이상의 연속적인 화이트 스페이스 문자와 일치됩니다. 문자열을 스캔할 때 화이트 스페이스를 포함한다면, 변환 코드 설정에서 문자를 사용합니다. 스페이스 또는 다른 화이트 스페이스 문자를 포함하는, 괄호 안에 포함되어 있는 문자열을 모든 문자를 지정합니다.
  • [ ]—세트 문자. [ ]는 괄호 사이에 지정된 문자만을 포함하는 문자열과 일치합니다. 문자는 대소문자를 구별합니다. [ ] 변환 코드는 문자열을 스캔할 때만 유용합니다. 세트에서 카렛 기호(^)를 일치하도록, 괄호 이후의 첫번째 문자가 그것이 아닌지 확인합니다. 다음 예제는 변환 코드 세트에서 문자의 사용을 보여줍니다.
    • %[aeiou]―소문자 모음만을 포함하는 모든 문자열과 일치합니다.
    • %[0-9a-zA-Z]―숫자, 문자, 또는 공간을 포함하는 문자열과 일치합니다. 세트에서 문자의 지정된 범위에 하이픈을 넣을 수 있습니다.
    • %[^,;]―첫번째 쉼표 또는 세미콜론까지(이를 포함하지 않는) 문자의 모든 문자열과 일치합니다.
    하이픈을 일치시키기 위해, 세트에서 첫번째 또는 마지막 문자로 지정합니다.
다음 시간을 위한 변환 코드를 사용합니다:
  • T―절대 시간. T는 문자열로 포맷, 파일로 포맷, 문자열로부터 스캔, 파일로부터 스캔 함수뿐만 아니라 숫자형 또는 타임스탬프 컨트롤, 상수, 인디케이터의 디스플레이 포맷 프로퍼티에서 사용합니다. 절대 시간 사용의 예제는 포맷 지정자 예제 테이블을 참조합니다. T는 [배열을 스프레드시트 문자열로], [스프레드시트 문자열을 배열로], [값을 문자로 포맷], [값 스캔] 함수와 함께 사용할 수 없습니다. 타임스탬프를 시간이 아닌 다른 것으로 포맷하면 에러가 반환됩니다.
  • t―상대 시간. t는 문자열로 포맷, 파일로 포맷, 문자열로부터 스캔, 파일로부터 스캔 함수뿐만 아니라 숫자형 또는 타임스탬프 컨트롤, 상수, 인디케이터의 디스플레이 포맷 프로퍼티에서 사용합니다. 상대 시간 사용의 예제는 포맷 지정자 예제 테이블을 참조합니다. t는 배열을 스프레드시트 문자열로, 스프레드시트 문자열을 배열로, 값을 문자로 포맷, 값 스캔 함수와 함께 사용할 수 없습니다. 타임스탬프를 시간이 아닌 다른 것으로 포맷하면 에러가 반환됩니다.
현지화 코드 LabVIEW가 숫자의 소수점 부분에서 숫자를 분리하기 위해 소수점 또는 쉼표를 사용할지 결정하는 문자. 이 코드는 상수 출력을 위한 소수점을 컨트롤합니다. 이 코드는 어떠한 입력 또는 출력을 발생시키지 않습니다. 다음 %;를 찾을 때까지 모든 입력과 출력의 소수점을 변경합니다.
  • %,;—쉼표 소수점.
  • %.;—마침표 소수점.
  • %;—시스템 기본 분리자. 분리자를 지정하지 않으면, LabVIEW는 시스템 기본 분리자를 사용합니다.
'\' 코드 16진수, 스페이스, 백스페이스 및 그 외 포맷 옵션을 지정하는 문자.

포맷 지정자 예제

다음 테이블은 포맷 지정자에 대해 구문 원소를 사용하는 예를 디스플레이합니다.

타입 인수 포맷 문자열 결과 문자열 주석
자동 포맷팅 (%g) 12.00 %#g 12 #으로 지정했다면, LabVIEW는 뒤따르는 제로를 제거합니다. g로 지정했다면, LabVIEW는 포맷할 숫자를 기준으로 과학적 표기법 또는 부동소수 표기법을 선택합니다.
12000000 %#g 1.2E+7
10진수 (%d) 12.67 score= %d%% score= 13% %d를 지정하면, LabVIEW는 정수를 10진법으로 디스플레이합니다.
  • 비트 크기에 제한 없이 부호있는 정수 또는 부호없는 정수이면, LabVIEW는 정수를 수정하지 않고 그대로 디스플레이합니다.
  • LabVIEW는 부동소수 값을 부호있는 64비트 정수로 반올림합니다. NaN과 부호있는 64비트 정수의 최대값보다 큰 값은 부호있는 64비트 정수의 최대값인 9223372036854775807로 반올림됩니다. 부호있는 64비트 정수의 최대값보다 큰 값을 기록하려면, [부호없는 쿼드 정수로] 함수를 사용하여 명시적으로 해당 값을 부호없는 64비트 정수로 캐스트해야 합니다.
부동소수점 (%f) 12.67 온도: %5.1f 온도: 12.7 포맷 문자열 섹션에서 5는 길이 5를 지정하며, 1은 소수점 또는 정밀도의 오른쪽에 있는 자릿수를 지정합니다.
12.67 N %5.3f 12.670 N 단위는 [문자열로 포맷] 함수를 사용해야만 유효합니다. 이들은 물리량 입력의 예입니다. 두번째 예제는 하나의 단위를 다른 단위로 변환하는 방법을 보여줍니다. 물음표 표시는 포맷 지정자의 단위가 입력 단위와 충돌이 일어났음을 알려줍니다.
12.67 N %5.3{mN}f 12670.000 mN
12.67 N %5.3{kg}f 12.670 ?kg
과학적 표기법 (%e) 12.67 %.3e 1.267E+1 지수가 언제나 3의 배수인 경우 ^를 추가하여 공학적 표기법으로 변경합니다.
12.67 %^.3e 12.670E+0
SI 표기법 (%p) 12000000 %.2p 12.00M .2의 값은 결과 문자열에서 2 자릿수의 정밀도로 나타나도록 지정합니다. _2의 값은 결과 문자열에 두 개의 유효 숫자를 포함하도록 지정합니다. %pSI 접두어를 추가합니다.
12000000 %_2p 12M
16진수 (%x) 12 %02x 0C A ― 결과 문자열의 왼쪽으로 자리맞춤되도록 지정합니다. A 0은 결과 문자열에 제로로 채우도록 지정합니다. 숫자는 결과 문자열의 길이를 지정합니다. 즉, -n의 값은 결과 문자열을 n 폭만큼 공백으로 채웁니다. b는 밑이 2이고, o는 밑이 8이며, x는 밑이 16입니다.
8진수 (%o) 12 %06o 000014
2진수 (%b) 12 %b 1100
상대 시간 (%t) 91.80 %.2t 01:31.80 LabVIEW는 경과 시간을 완전한 주 %W, 날 %D, 시간 %H, 분 %M, 초 %S, 초 이하 단위 %u로 포맷합니다. 시간 포맷 문자열에 대한 추가적인 정보는 시간 포맷 문자열을 위한 포맷 코드를 참조하십시오.
91.8 %<시간:%H 분:%M 초:%S>t 시간:00 분:01 초:31
절대 시간 (%T) 2001년 1월 1일 오전 00:00:00.000 (세계시) %<%.3X %x>T 12:00:00.000 AM 01/01/2001 %T는 절대 시간을 지정합니다. < and > 괄호 인디케이터에 포함되어 있는 정보는 절대 시간을 포맷하려는 방법을 나타냅니다. 구두점을 포함한 이 포맷은 컴퓨터의 지역 셋팅에 따라 변경됩니다. 시간은 컴퓨터에 설정된 표준 시간대에 따라 변경됩니다. 시간 포맷 문자열에 대한 추가적인 정보는 시간 포맷 문자열을 위한 포맷 코드를 참조하십시오.
2001년 1월 1일 오전 00:00:00.000 (세계시) %<%Y.%m.%d>T 2001.01.01
2001년 1월 1일 오전 00:00:00.000 (세계시) %^<%.3X %x>T 06:00:00.000 AM 12/31/2000 ^을 추가하여 시간을 세계시로 포맷합니다.
문자열 (%s) Smith John 이름: %s, %s. 이름: Smith, John. 문자열은 [문자열로 포맷] 함수를 사용해야만 유효합니다. 두번째 예제에서, 포맷 문자열은 Hello, World 문자열에서 적어도 6개의 문자 사용을 지정하고 총 문자열의 길이가 10과 같도록 공백으로 채웁니다.
Hello, World 문자열: %10.6s 문자열: Hello,
변수 순서 (%$) Smith John %2$s %1$s John Smith 이 예제에서, 스미스는 첫번째 변수이고 은 두번째 변수입니다. 특정 변수의 포맷 문자열에 $ 구문 원소를 사용하는 경우, $ 구문 원소가 앞에 오지 않는 이후의 구문 원소는 다음 변수에 적용됩니다. 변수에 $ 구문 원소를 사용하는 경우, 문자열의 다른 변수에 $ 구문 원소를 사용하여 더 쉽게 읽을 수 있도록 합니다.
퍼센트 문자 (%%) 없음 %% % %%는 단일 %를 포맷합니다. 이 포맷을 사용하면 문자열에 실제 퍼센트 문자를 포함시킬 수 있습니다. 이는 [문자열로 포맷] 또는 [문자열로부터 스캔] 함수에 터미널을 추가하지 않습니다.