フォーマットされた文字列を返します。
$JUSTIFY関数のフォーマット:
$J[USTIFY](expr,intexpr1[,intexpr2])
式(expr) は、$JUSTIFY()でフォーマットされる文字列を指定します。
最初の整数式(2番目の引数)は、結果文字列の最小サイズを指定します。もし最初の整数式が式の長さより大きい場合、$JUSTIFY() は、先頭にスペースを追加することにより、指定された長さの文字列に式を右側に揃えます。そうでない場合、$JUSTIFY() は、2つ目の整数引数によって指定されない限り変更されずに式を返します。
オプションの2番目の整数式(第3引数)は、結果に小数点以下の桁数を指定し、$JUSTIFY()が数値として式を評価することを強制します。もし数値式が、この引数が指定するよりも多くの桁を持っている場合、$JUSTIFY() は、結果を得るために丸められます。もし式がこの引数の指定よりも少ない桁数を持っていた場合、$JUSTIFY() は結果を得るためにゼロで埋めます。
2番目の引数が指定され、最初の引数が-1から1の間の小数部に評価されている場合、$JUSTIFY() は、小数点(.) の前のゼロ(0)に先導している番号を返します。
$JUSTIFY() は、固定長の値を作成するための式を埋め尽くします。しかし、もし指定された式の長さが指定されたフィールドサイズを超える場合、$JUSTIFY() は、結果を切り捨てません(それは3番目の引数に基づいてまだ丸めるかもしれないが)。必要なときに、切り捨てを実行するためには $EXTRACT() を使用してください。
$JUSTIFY() は、オプションで小数点の後の結果の一部を丸めます。3番目の引数がない場合には、$JUSTIFY() は、式の評価を制限しません。3番目(丸め)引数の存在することで、$JUSTIFY() は、数値として式を評価します。丸めのアルゴリズムは、以下のように理解することができます:
必要な場合、丸めアルゴリズムは、丸め引数で指定された以外の少なくとも一つ以上の数字を持つように複数の0(ゼロ)と右側の式を拡張します。
その後、それは、丸め引数で指定された数字の後の桁の位置に、5(5)を追加します。
最後に、指定された桁数になるように結果を切り捨てます。アルゴリズムは、超過する桁が最後に保持する桁の半分以上を指定する時は切り上げて、半分より少ない場合は切り捨てます。
プロセスがUTF-8モードで起動する場合、$JUSTIFY() は、UTF-8 エンコードとして文字列の引数を解釈します。それが不正な文字を見つけた時、VIEW "BADCHAR"を有効にして、$JUSTIFY() は、実行時エラーを生成します。
$ZJUSTIFY() は、$JUSTIFY() の併用可能な関数です。VIEW "BADCHAR" と $ZCHSETの設定に関係なく、$ZJUSTIFY() は、バイトシーケンス(むしろ文字シーケンスより)として引数を解釈し、バイト指向の$JUSTIFY() 操作を実行することができます。詳細な情報については、 “$ZJustify()” を参照してください。
例:
GTM>write ":",$justify("HELLO",10),":",!,":",$justify("GOODBYE",5),":" : HELLO: :GOODBYE: GTM>
これは、5つのスペースのフィールドに、スペース10個と "GOODBYE" のフィールドで、"HELLO" を表示するために、$JUSTIFY() を使用しています。"GOODBYE" の長さが5個のスペースを超えているため、結果が仕様をオーバーフローしています。
例:
GTM>write "1234567890",!,$justify(10.545,10,2) 1234567890 10.55 GTM>
これは、スペース10個のフィールドに右側に揃えられた丸め値をWRITEするように $JUSTIFY() を使用しています。結果が切り上げされていることに注意してください。
例:
GTM>write "1234567890",!,$justify(10.544,10,2) 1234567890 10.54 GTM>
繰り返し、これは、スペース10個のフィールドに右側に揃えられた丸め値をWRITEするように $JUSTIFY() を使用しています。結果が切り捨てられることに注意してください。
例:
GTM>write "1234567890",!,$justify(10.5,10,2) 1234567890 10.50 GTM>
もういちど繰り返し、これは、スペース10個のフィールドに右側に揃えられた丸め値をWRITEするように $JUSTIFY() を使用しています。結果は2ヶ所にゼロで埋められていることに注意してください。
例:
GTM>write $justify(.34,0,2) 0.34 GTM>
この例では、少数が先行するゼロを持っていることを確認するために $JUSTIFY 使用しています。丸めが$JUSTIFYが実行する唯一の関数である場合のゼロの2番目の引数の使用に注意してください。