フォーマットされた固定長のバイトシーケンスを返します。
$ZJUSTIFY()関数のフォーマット:
$ZJ[USTIFY](expr,intexpr1[,intexpr2])
式(expr) は、$ZJUSTIFY()でフォーマットされたオクテットのシーケンスを指定します。
最初の整数式 ,intexpr1(2番目の引数)は、バイトシーケンスの結果の最小サイズを指定します。
もし最初の整数式(,intexpr1)が式(expr)の長さより大きい場合、$ZJUSTIFY() は、先頭にスペースを追加することにより、指定された長さのバイトシーケンスに式の右側に揃えます。そうでない場合、$ZJUSTIFY() は、2つ目の整数引数によって指定されない限り、変更されずに式を返します。
$ZJUSTIFY() のオプションの2番目の式(3番目の引数)の動作は、$JUSTIFY() と同じです。For more information, refer to “$Justify()”.
2番目の引数が指定され、最初の引数が-1から1の間の小数部に評価されている場合、$ZJUSTIFY() は、小数点(.) の前のゼロ(0)に先導している番号を返します。
$ZJUSTIFY()は、固定長のバイトシーケンスを作成するには、オクテットのシーケンスを埋め尽くします。しかし、もし指定された式の長さ指定されたバイトサイズを超える場合、$ZJUSTIFY() は、結果を切り捨てません(3番目の引数に基づいてまだ丸めるかもしれないが)。必要なときに、$ZEXTRACT() で切り捨てを実行します。
$ZJUSTIFY() は、オプションで小数点の後の結果の一部を丸めます。3番目の引数がない場合には、$ZJUSTIFY() は、式の評価を制限しません。3番目(丸め)引数の存在することで、$JUSTIFY() は、数値として式を評価します。丸めのアルゴリズムは、以下のように理解することができます:
必要な場合、丸めアルゴリズムは、丸め引数で指定された以外の少なくとも一つ以上の数字を持つように複数の0(ゼロ)と右側の式を拡張します。
その後、それは、丸め引数で指定された数字の後の桁の位置に、5(5)を追加します。
最後に、指定された桁数になるように結果を切り捨てます。アルゴリズムは、超過する桁が最後に保持する桁の半分以上を指定する時は切り上げて、半分より少ない場合は切り捨てます。