Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

$MVFMT

文字列の MultiValue フォーマット関数。

Synopsis

$MVFMT(string,format)

引数

string 表示するためにフォーマットされる MultiValue 文字列式。
format string の画面フォーマットを指定する位置文字および数字コードで構成される引用符付きの文字列。

説明

$MVFMT 関数は、format の指定に従ってフォーマットされた string 値を返します。このフォーマットには、string の埋め込みや丸め/切り捨てが含まれる場合もあります。$MVFMT の最も一般的な使用法は、10 進数の標準的な表示形式として使用することです。

format 文字列の形式は、以下のとおりです。

wfRn
w オプション — 正の整数で指定する、表示フィールド全体の幅。string で一様の幅 (文字数) を指定するために使用されます。以下のように、wstring の長さより大きい、または小さい場合は別の操作が実行されます。
f オプション — 単一の文字として指定する埋め込み文字  (以下のように特定の埋め込み文字は、引用符付きの文字列として指定する必要があります)。f を使用するには、w も指定する必要があります。w を指定しても f を指定しない場合は、既定でスペース文字が使用されます。
R オプション — 右揃えと左揃えのいずれかを指定する、文字 'R' または 'L'。この文字コードでは、大文字と小文字は区別されません。文字コードを指定しない場合、$MVFMT の既定では左揃えが使用されます (文字 'T' および 'U' は、'L' と同義です)。
n オプション — 正の整数で指定する、小数点以下の桁数。n を指定する場合は、format の唯一のコードとして使用するか、この前に文字 'R' または 'L' を指定する必要があります。n を指定しない場合、$MVFMT の既定では、string の小数点以下の桁数が使用されます。

format には以下の 2 つの用途があります。

  • 標準形式の小数を返す。

  • 標準形式の文字列を返す。

小数の最も基本的な format'Rn' です。R は右揃えを指定する 'R' か左揃えを指定する 'L' で、n は表示する小数点以下の桁数です。string が整数の場合、または n より小数点以下の桁数が少ない場合、ゼロ・パディングが追加されます。string の桁数が n より多い場合、小数部が指定の桁数に丸められます。n がゼロの場合、数値は整数に丸められ、小数点が削除されます。string が 1 未満の場合、n を指定すると小数点の左側にゼロ (0) が入力されます。string に数値、小数点文字、マイナス記号以外の文字が含まれる場合、$MVFMT はゼロ・パディングや丸めを実行しません。

文字列で最も基本的な format'wf' です。“w” は幅を指定する整数、f はリテラルの埋め込み文字 (例えば '9^') です。w (幅) とf (埋め込み) のフォーマットを使用して、表示フィールドを標準の幅にすることができます。既定では、行端揃えは 'L' (左) ですが、右揃えにするには 'R' を指定します。

format のより複雑な例として '10#R5' があります。この場合 “10” は表示フィールド全体の幅、“#” は表示フィールドの埋め込み文字を示します。'R' は右揃えを示すため、この埋め込み文字は string 値の左側に表示されます。“5” は、string 値の小数点以下の桁数が 5 であることを示します。

w (幅) 値には、string の文字数 (小数点を含む) 以上、またはそれより小さい値を使用できます。string が小数の場合、w は、$MVFMT が小数点以下の桁数を (丸めまたはゼロ・パディングにより) 調整した後に適用されます。

  • wstring の長さより大きい場合、$MVFMT は、stringf の埋め込み文字を追加し、生成される文字列の長さが w になるようにします。'L' (左揃え) の場合は埋め込み文字が文字列の末尾に適用され、'R' (右揃え) の場合は埋め込み文字が文字列の先頭に適用されます。

  • wstring の長さと等しい場合 (小数点以下の桁数の丸めやゼロ・パディングの適用後)、操作は何も実行されません。

  • wstring の長さより小さい場合、$MVFMT は、w 字ごとにテキスト・マーク (@TM, CHAR(251)) 文字を挿入します。“L” (左揃え) の場合は、文字が文字列の先頭から順方向で数えられ、“R” (右揃え) の場合は、文字列の末尾から逆方向に文字数が数えられます。その後、$MVFMTf 埋め込み文字を追加して、テキスト・マークで区切られた部分文字列が w 文字の長さになるようにします (テキスト・マーク自体はカウントされません)。'L' (左揃え) の場合は埋め込み文字が文字列の末尾に適用され、'R' (右揃え) の場合は埋め込み文字が文字列の先頭に適用されます。

埋め込み文字はオプションです。省略した場合は、スペースで埋め込まれます。埋め込み文字と format 文字列区切り文字を同じにすることはできません。埋め込み文字が数字、円記号 (\)、文字 L、R、T、U のいずれかである場合は、format 文字列とは異なる文字列区切りの引用符で囲む必要があります。例えば、'10"0"R2' です。円記号を、埋め込み文字の文字列区切り文字として使用することはできません。

以下の例は、'Rn' フォーマットを使用して小数点以下の 4 桁が表示されるように数値をフォーマットします。ゼロ・パディングと丸めはいずれも必要に応じて実行されます。

SELECT $MVFMT(1.2,'R4'),     /* Returns 1.2000 */
$MVFMT(1.77777,'R4'),        /* Returns 1.7778 */
$MVFMT(.4,'R4'),             /* Returns 0.4000 */
$MVFMT(0,'R4')               /* Returns 0.0000 */

関連項目

  • $MVFMTS 関数

  • MultiValue Basic FMT 関数、"Caché MVBasic Reference" を参照

FeedbackOpens in a new tab