形式指定子の構文
- 更新日2026-10-22
- 17分で読める
出力をフォーマットまたは入力をスキャンする形式文字列のLabVIEW形式指定子の構文を理解する。
フォーマット関数の形式指定子の構文
フォーマット関数は完全な形式指定子の構文を使用します。
%[$][-][+][#][^][0][幅][.精度∥_有効数字][{単位}][<組込時間形式>]変換コード
ここで、
- 幅は0より大きい数値である必要があります
- 精度または有効数字は0以上の数値である必要があります
- 二重角括弧[]はオプションの要素を示します。特定の構文要素で必要な場合を除き、リテラル[]文字を形式指定子に含める必要はありません。
- ∥は、.精度または_有効数字を使用する場合、どちらか1つを選択する必要があることを示します。
- 構文内のテキストを適切な構文要素に置換します。
スキャン関数の形式指定子の構文
スキャン関数は簡略化された形式指定子の構文を使用します。
%[幅]変換コード
幅は0より大きい数値であることが必要です。
- 二重角括弧[]はオプションの要素を示します。形式指定子にリテラル[]文字を含める必要はありません。
- 構文内のテキストを適切な構文要素に置換します。
形式指定子の構文要素
形式指定子は、LabVIEW関数が入力文字列を解釈して出力文字列を生成する方法を定義する特定の構文要素をサポートします。必要な出力文字列の作成に使用する形式指定子の構文を理解する。
%デリミタ
形式指定子を開始する必須要素です。
「文字列にフォーマット」、「ファイルにフォーマット」、「文字列からスキャン」、および「ファイルからスキャン」関数は拡張可能です。これらの関数は、形式文字列で複数の形式指定子 (関数の各入力または出力に1つずつ) を使用できます。
- 形式文字列の形式指定子の数は、関数の引数の数と一致する必要があります。
- 形式文字列入力で複数の形式指定子を指定するには、各形式指定子を%で示します。
修正キー
オプションの修飾子要素を使用して、形式文字列が作成する出力を改善します。
| 構文要素 | フォーマット関数またはスキャン関数 | 説明 |
|---|---|---|
| $ | フォーマット | 変数を表示する順序を指定します。この修正子のすぐ後の変数の順序を表す数が含まれます。 |
| - | フォーマット | 左揃えは、パラメータを右揃えではなく幅内で揃えます。 |
| + | フォーマット | 数値が正の数でも符号を含みます。 |
| ^ | フォーマット |
|
| # | フォーマット | 末尾のゼロを削除します。小数点以下の桁のない数値の場合、この修飾子は記述部も削除します。 |
| 0 | フォーマット | -修飾子なしで使用すると、最小幅に達するために、数値パラメータの左側の余分なスペースをスペースではなくゼロでパディングします。 |
| 幅 |
|
|
| .精度または_有効数字 | フォーマット | 表示される桁数を制御します。精度または有効数字は数値です。 メモ 1つの形式指定子で精度と有効桁数の両方を使用することはできません。
|
| {単位} | フォーマット | 関数を使用して物理量 (関連付けられた単位のある値) を変換する場合、VIの元の単位を無視します。互換性のある単位を使用する必要があります。 メモ この構文要素は、「文字列にフォーマット」関数のみで使用できます。 |
| <組込時間形式> | フォーマット | T (絶対時間) およびt (相対時間) 変換コードで使用する時間特定の形式文字列が含まれます。有効な組込時間形式文字列については、時間指定形式コードを参照してください。 |
変換コード
パラメータのスキャンまたはフォーマット方法を指定する文字は以下のとおりです。スキャン関数とフォーマット関数の両方に必要な要素です。
数値の変換コード
| 変換コード | サポートされている数値 | 説明 |
|---|---|---|
| x |
|
16進数整数 (例: B8)。 |
| o |
|
8進数整数 (例: 701) |
| b |
|
2進数整数 (例: 1011) |
| d |
|
符号付き10進数整数です。 |
| μ |
|
符号なし10進数整数です。 |
| f |
|
小数形式の浮動小数点数 (例: 12.345) |
| e |
|
科学表記法の浮動小数点数 (例: 1.234E1) |
| g |
|
自動フォーマット。数値の指数に応じてfまたはeを使用
|
| p |
|
SI表記の浮動小数点数です。 |
- ブール: 0はFalse、1はTrue
- 列挙体: 列挙体項目の数値指標値を解釈します。
文字列の変換コード
| 変換コード | 説明 |
|---|---|
| s | 文字列 (例: abc)
|
| [ ] | セット内の文字: 括弧の間で指定した文字のみを含む文字列と一致します。 メモ [ ]の変換コードは、文字列をスキャン中の場合にのみ有効です。文字列のフォーマット時には有効ではありません。 文字の一致では大文字と小文字が区別されます。 以下の文字は、[ ]変換コード内で特別な意味を持ちます。
以下のサンプルはセット変換コードの文字の使用を示します。
|
- ブール: FalseとTrueを解釈
- 列挙体: 列挙体項目の文字列ラベルを解釈します。
- DAQmxチャンネルまたはVISAリソース名などの名前付きrefnum
- パス
時間の変換コード
| 変換コード | 説明 |
|---|---|
| T | 絶対時間Tは、数値またはタイムスタンプ制御器、定数、および表示器の表示形式プロパティ、および「文字列にフォーマット」、「ファイルにフォーマット」、「文字列からスキャン」、「ファイルからスキャン」関数で使用します。 メモ 「配列からスプレッドシート文字列に変換」、「スプレッドシート文字列を配列に変換」、「値をフォーマット」、「値をスキャン」関数では、Tは使用できません。 タイムスタンプを時間以外の形式にすると、エラーが返されます。 |
| t | 相対時間。tは、数値またはタイムスタンプ制御器、定数、および表示器の表示形式プロパティ、および「文字列にフォーマット」、「ファイルにフォーマット」、「文字列からスキャン」、「ファイルからスキャン」関数で使用します。 メモ 「配列からスプレッドシート文字列に変換」、「スプレッドシート文字列を配列に変換」、「値をフォーマット」、「値をスキャン」関数では、tは使用できません。 タイムスタンプを時間以外の形式にすると、エラーが返されます。 |
ローカリゼーションコード
LabVIEWが小数点とカンマのどちらを使用して、数値の整数を小数点以下の部分と区切るかを決定するオプションのシーケンス。
そのコードは、数値の出力に使用する小数点区切りを制御します。これらのコードにより、入出力は発生しません。また、次の%;が検出されるまで、すべての入出力の小数点区切りを変更します。
| ローカリゼーションコード | 説明 |
|---|---|
| %,; | 小数点区切りとしてのカンマ |
| %.; | 小数点区切りとしてのピリオド |
| %; | システムのデフォルトの区切り区切りを指定しない場合、システムのデフォルト区切りが使用されます。 |
リテラル文字
入力文字列に文字を追加する場合は、リテラル文字を形式文字列に追加できます。形式文字列でエスケープシーケンスを使用して、特定の文字を挿入できます。
| エスケープシーケンス | 出力 | 説明 |
|---|---|---|
| %% | % | 形式指定子の先頭を定義する%デリミタとの競合を回避します。 |
| \> | > | 組込時間形式修飾子を終了する>デリミタとの競合を回避します。 |
| '\'コード | バックスラッシュコードに依存 | 16進数、スペース、バックスペース、およびその他の形式オプションを指定する文字シーケンスです。 バックスラッシュコードの詳細については、コード表示を参照してください。 |
形式指定子の構文例
LabVIEW形式指定子が入力引数を出力文字列に変換する方法を、実際のサンプルを使用して理解します。
自動フォーマット (%g) の例
| 引数 | 形式文字列 | 出力文字列 |
|---|---|---|
| 12.00 | %#g | 12 |
| 12000000 | %#g | 1.2E+7 |
#を指定すると、後に続くゼロが切り捨てられます。
gを指定すると、LabVIEWはフォーマットする数の指数に基づいて指数関数表記または浮動小数点表記のいずれかを選択します。
10進数 (%d) の例
| 引数 | 形式文字列 | 出力文字列 |
|---|---|---|
| 12.67 | score= %d%% | score= 13% |
%dを指定する際、LabVIEWは整数を10進法形式で表示します。
- 符号付きまたは符号なしの整数は、ビットサイズに関わらず、修正なしの整数として表示されます。
- LabVIEWは、浮動小数点値を64ビット符号付き整数に丸め込みます。NaNおよび符号付き64ビット整数の最大値よりも大きい値は、符号付き64ビット整数の最大値である9223372036854775807に丸め込まれます。符号付き64ビット整数の最大値より大きい値を記録するには、「符号なし4倍長整数に変換」関数を使用してそれらの値を64ビット符号なし整数に明示的に型変換する必要があります。
浮動小数点 (%f) の例
| 引数 | 形式文字列 | 出力文字列 |
|---|---|---|
| 12.67 | Temp: %5.1f | Temp: 12.7 |
| 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 |
- 形式文字列の5は、5の幅を指定します。.の後の数値は、小数点以下の桁数、つまり精度を指定します。
- 単位は、「文字列にフォーマット」関数を使用した場合にのみ有効です。単位付きのサンプルは、形式指定子が物理量とどのように相互作用するかを示します。
- ある単位から別の単位に変換できます。
- 疑問符は、形式指定子の単位が入力の単位と競合すると表示されます。
科学表記 (%e) の例
| 引数 | 形式文字列 | 出力文字列 |
|---|---|---|
| 12.67 | %.3e | 1.267E+1 |
| 12.67 | %^.3e | 1.2670E+0 |
指数が常に3の倍数になる工学表記に変更するには、^を追加します。
SI表記 (%p) の例
| 引数 | 形式文字列 | 出力文字列 |
|---|---|---|
| 12000000 | %.2p | 12.00M |
| 12000000 | %_2p | 12M |
- 値.2は、結果文字列の精度を2桁に指定します。
- 値_2は、結果文字列の有効桁数を2桁に指定します。
- %pコードはSI接頭辞を追加します。
16進数 (%x)、8進数 (%o)、バイナリ (%b) の例
| 引数 | 形式文字列 | 出力文字列 |
|---|---|---|
| 12 | %02x | 0C |
| 12 | %06o | 000014 |
| 12 | %b | 1100 |
b (2進数) は2を底とします。o (8進数) は8を底とします。x (16進数) は16を底とします。
- -修飾子を使用して、結果の文字列を左揃えにすることができます。
- 0修飾子は、結果の文字列をゼロでパディングすることを示します。
- 形式指定子の桁は、結果の文字列の幅を指定します。
たとえば、修飾子-nは、結果の文字列の幅がnになるようにスペースでパディングします。
相対時間 (%t) の例
| 引数 | 形式文字列 | 出力文字列 |
|---|---|---|
| 91.80 | %.2t | 01:31.80 |
| 91.8 | %<時間:%H 分:%M 秒:%S>t | Hours:00 Minutes:01 Seconds:31 |
LabVIEWは、経過時間を次の観点でフォーマットします。
- 完了週 (%W)
- 完了日 (%D)
- 完了時間 (%H)
- 完了分 (%M)
- 完了秒数 (%S)
- 秒の小数部分 (%digitu)
組込時間形式コードの詳細については、時間指定形式コードを参照してください。
絶対時間 (%T) の例
| 引数 | 形式文字列 | 出力文字列 |
|---|---|---|
| 00:00:00.000 AM 1/1/2001 (グリニッジ標準時) | %<%.3X %x>T | 12:00:00.000 AM 01/01/2001 |
| 00:00:00.000 AM 1/1/2001 (グリニッジ標準時) | %<%Y.%m.%d>T | 2001.01.01 |
| 00:00:00.000 AM 1/1/2001 (グリニッジ標準時) | %^<%.3X %x>T | 06:00:00.000 AM 12/31/2000 |
%Tは絶対時間を示します。
- 組込時間形式 (<と>の間) に入力する情報は、絶対時間の形式を示します。組込時間形式コードの詳細については、時間指定形式コードを参照してください。
- 句読点を含むフォーマットは、コンピュータの地域設定に基づいて変更されます。システムのタイムゾーンに基づいて時間が変更されます。
- ^を追加して、グリニッジ標準時で時間をフォーマットします。
文字列 (%s) の例
| 引数 | 形式文字列 | 出力文字列 |
|---|---|---|
| Smith John | Name: %s, %s. | Name: Smith, John. |
| Hello, World | String: %10.6s | String: Hello, |
- %sはフォーマットとスキャンの両方に有効です。文字列とファイルの両方に%sを使用できます。
- 最初の例では、形式文字列は複数の形式指定子を使用します。この結果を得るには、以下を実行します。
- Smithという姓を入力1として「文字列にフォーマット」関数に指定します。
- 文字列にフォーマットを展開し、関数の下部をクリック&ドラッグして2番目の入力を追加します。Johnという名を、結果の入力2に指定します。
- 指定された形式文字列を入力します。形式文字列には2つの%デリミタが含まれるため、形式文字列には2つの形式指定子が含まれます。形式文字列の形式指定子の数は、関数への入力数と一致する必要があります。LabVIEWは、形式指定子の一部でない文字をリテラルテキストとして解釈し、結果の文字列に追加します。
- 2番目の例では、.6は文字列の精度を制御します。.6は、文字列Hello, Worldから最大6文字を使用することを指定します。10 は幅です。LabVIEW は、文字列の長さの合計が 10 になるように、文字列をスペースでパディングします。
変数順序 (%$) の例
| 引数 | 形式文字列 | 出力文字列 |
|---|---|---|
| Smith John | %2$s %1$s | John Smith |
この例では、Smithは最初の変数、Johnはが2番目の変数です。
- 特定の変数に$構文要素を形式文字列で使用する場合、$構文要素が前にない構文要素は次の変数に適用されます。
- 変数に$を使用する場合の可読性を向上させるには、文字列内の他の変数に$を使用します。
関連コンテンツ
- 形式指定子について
形式指定子は、LabVIEW関数が文字列を解釈する方法を定義します。形式指定子の用語と、文字列のフォーマットまたは文字列のスキャンに使用される場合の違いを理解する。
- LabVIEWの単位
LabVIEWでは、浮動小数点数値データに物理単位を関連付けることができます。たとえば、異なる物理計測間の変換や物理量の演算を簡素化するには、単位を使用します。
- 数値制御器および表示器に使用できる文字