指定された形式で数値をフォーマットします。オプションで、指定された小数点に丸めます。
Synopsis
$FNUMBER(inumber,format,decimal)
$FN(inumber,format,decimal)
利用可能な形式コードは、以下の通りです。単独でも、組み合わせても指定できます。
形式コードの組み合わせによっては、衝突したり <SYNTAX> エラーになります。例えば、負の数で TP が末尾の符号を挿入し、括弧に数を配置しようと試みた場合などです。
数が切り捨てられたり、0 が埋められる前に丸めを行います。正の数、整変数名、正の数に評価するすべての有効な Caché ObjectScript 式で指定されます。decimal パラメータが 0 のとき、数は小数点をもたない整数として返されます。decimal パラメータが小数桁数よりも大きいとき、0 を加えます。数が 1 以下のとき、
$FNUMBER は小数点の前に 0 を加えます。
decimal オプションを使用すると、数の丸めを行った後に返す少数桁の数を制御できます。decimal パラメータは、整数として解釈する必要があります。例えば、変数
c に数値 6.25198 が含まれているとします。
SET c="6.25198"
SET x=$FNUMBER(c,"+",3)
SET y=$FNUMBER(c,"+",8)
WRITE !,x,!,y
最初の
$FNUMBER は +6.252 を、2 番目は +6.25198000 を返します。decimal パラメータが数の小数桁数を越えるときは、0 を加えます。
以下の例は、異なる形式を指定すると、どのように
$FNUMBER の動作に影響するかを示しています。これらの例は、現在の位置が既定であると仮定した場合です。
以下の例は、
A が非負数なので、
$FNUMBER が
A の値にプラス符号を加えて、+124329 を返しています。
SET A=124329
WRITE $FNUMBER(A,"+")
以下の例では、
$FNUMBER が
B の値から負の符号を削除して、30.567 を返しています。
SET B=-30.567
WRITE $FNUMBER(B,"-")
以下の例では、
$FNUMBER が
C の小数点の左側の数値 3 桁ごとにコンマを挿入して、1,234,567.81 を返しています。
SET C=1234567.81
WRITE $FNUMBER(C,",")
以下の例では、
$FNUMBER が
C にヨーロッパ形式を挿入して、1.234.567,81 を返しています。
SET D=1234567.81
WRITE $FNUMBER(D,".")
以下の例では、
$FNUMBER がコンマを挿入して、
C の値に小数点と 0 を 2 つ加えて、124,329.00を返しています。
SET C=124329
WRITE $FNUMBER(C,",",2)
以下の例は、
$FNUMBER が変数の後にどのように符号を挿入するかを示しています。
SET A=123
SET B=-123
SET x=$FNUMBER(A,"T+")
SET y=$FNUMBER(B,"T")
SET z=$FNUMBER(A,"T")
WRITE !,x,!,y
WRITE !,z,"space after var z"
以下の例では、
$FNUMBER が
B の値を括弧に入れ、マイナス符号を削除して、(30.567) を返しています。
SET B=-30.567
WRITE $FNUMBER(B,"P")
$FNUMBER は、数の全体と小数部分の間に区切り文字として、現在の位置の DecimalSeparator プロパティの値を使用します (. 形式コードが使用される場合を除きます)。DecimalSeparator の既定値は . で、この区切り文字はこのドキュメント全体を通して使用されています。