Skip to main content

5-4-7 印刷書式関数

関数名

機能

FORMAT/ FORMAT2

指定した書式でデータを編集し、印刷します。

FORMAT/ FORMAT2

機能

指定した書式でデータを編集し、印刷します。

書式

FORMAT(数値or数値型フィールド名,書式文字列)

FORMAT2(文字型フィールド名or数値型フィールド名,書式文字列)

設定

  1. 「数値or数値型フィールド名」(FORMAT2の場合は「文字型フィールド名or数値型フィールド名」)に、編集したいデータが入ってくるフィールド名を指定します。

  2. 「書式文字列」に編集方法を定義します。

1. FORMAT関数とFORMAT2関数の違い

印刷書式関数であるFORMAT関数とFORMAT2関数では、編集式の設定によりデータの印刷結果が異なります。

  • FORMAT関数で生成した場合

    データ

    FORMATの設定

    ZZZZZZ

    ZZZZZ9

    999999

    100

    100

    100

    000100

    0

    0

    000000

    NULL

    0

    000000

    Z: ゼロサプレスする(有効数字ではないデータをスペースに置き換えます)

    9: ゼロサプレスしない(有効数字ではないデータを0に置き換えます)

    FORMAT関数では、0とNullの判断ができません。したがって、データが送られてこない場合でも、0が出力されます。

  • FORMAT2関数で生成した場合(文字型で設定します)

    データ

    FORMAT2の設定

    ZZZZZZ

    ZZZZZ9

    999999

    100

    100

    100

    000100

    0

    0

    000000

    NULL

    FORMAT2関数では、0とNullの区別が行われます。

    そのため「ZZZZZ9」と設定しても、文字型フィールドでデータが送られてこない場合は""(空文字列)が出力されます。

    数値型フィールドで設定した場合は、0が出力されます。



編集方法

「nZZZ,ZZZ,ZZ9.99m」

  • n(先頭付加文字)

    sdCommon_iTri_B_Up.gifマイナス(-)データ時に「sdCommon_iTri_B_Up.gif」を表示します。

    sdCommon_iTri_W_Up.gifマイナス(-)データ時に「sdCommon_iTri_W_Up.gif」を表示します。

    sdCommon_iyen.png(「日本語」、「中国語簡体字」、「中国語繁体字」のときに表示されます)

    euro.png(「英語」、「フランス語」、「チェコ語」のときに表示されます)

    sdCommon_iwon.png(「韓国語」のときに表示されます)

    baht.png(「タイ語」のときに表示されます)

    $

    その他任意の文字

  • 編集文字

    Z ゼロサプレスする

    9 ゼロサプレスしない

    , カンマを挿入する(カンマ編集)(「フランス語」、「チェコ語」のときはノーブレークスペースが挿入されます)

    . 小数点位置(小数点を印刷する)(「フランス語」、「チェコ語」のときはカンマが挿入されます)

    v 仮想小数点位置(小数点を印刷しない)

  • m(最語尾付加文字)

    %

    その他任意の文字(円など)

参考

  • 先頭付加文字の右隣から数値データが印刷されますが、FORMAT2関数のデフォルトでは、マイナス記号(sdCommon_iTri_B_Up.gifsdCommon_iTri_W_Up.gif)の位置は固定で、実際のデータのみが右寄せで出力されます。

    • FORMAT関数の場合: "   sdCommon_iTri_B_Up.gif1"

    • FORMAT2関数の場合: "sdCommon_iTri_B_Up.gif   1"

  • 任意の文字を加える場合は、数値データも含めてフィールドの印字桁数以内に収める必要があります。印字桁数を超えた部分は、表示されません。

使用例

  • 例1 数値データ-123.456がデータとして入力された数値型フィールド「I2」で、付加記号としてsdCommon_iTri_B_Up.gifを指定して出力する場合

    • FORMATの場合

      • 編集式 FORMAT(I2,"sdCommon_iTri_B_Up.gifZZ,ZZ9.99")

      • 印刷結果 "XXsdCommon_iTri_B_Up.gif123.45"(Xは半角スペース)

    • FORMAT2の場合

      • 編集式 FORMAT2(I2,"sdCommon_iTri_B_Up.gifZZ,ZZ9.99")

      • 印刷結果 "sdCommon_iTri_B_Up.gifXX123.45"(Xは半角スペース))

  • 例2 何も値が入力されていない文字型フィールド「S1」値を編集して出力する場合

    • FORMATの場合

      • 編集式 FORMAT(S1,"ZZ,ZZ9.99")

      • フィールドバッファ ""

      • 印刷結果 "XXXXX0.00"(Xは半角スペース)

    • FORMAT2の場合

      • 編集式 FORMAT2(S1,"ZZ,ZZ9.99")

      • フィールドバッファ ""

      • 印刷結果 ""

参考

例2では、出力先が文字型フィールドのため、初期値としてフィールドバッファの値に、""(空文字列)が格納されます。FORMAT関数が指定されている場合は、書式に従い0を表示します。FORMAT2関数が指定されている場合は、値を""のまま出力します。

  • 例3 何も値が入力されていない数値型フィールド「I1」で、値を編集して出力する場合

    • FORMATの場合

      • 編集式 FORMAT(I1,"ZZ,ZZ9.99")

      • フィールドバッファ 0

      • 印刷結果 "XXXXX0.00"(Xは半角スペース)

    • FORMAT2の場合

      • 編集式 FORMAT2(I1,"ZZ,ZZ9.99")

      • フィールドバッファ 0

      • 印刷結果 "XXXXX0.00"(Xは半角スペース)

参考

例3では、出力先が数値型フィールドのため、初期値としてフィールドバッファの値に、0(ゼロ)が格納されます。FORMAT関数が指定されている場合は、書式に従い0を表示します。FORMAT2関数が指定されている場合でも、書式に従い0を表示します。