NUMBERFORMAT  
説明

独自に形式設定した数値を作成します。米国で使用される数値形式をサポートします。国際数値形式については、LSNumberFormatを参照してください。

 
戻り値

形式設定された数値

  • マスクが指定されていない場合は、1000 単位のセパレータ付きの整数で値が返されます。
  • パラメータ値が "" (空の文字列) の場合、0 が返されます。
 
カテゴリ

表示および書式制御関数

 
関数のシンタックス
NumberFormat(number [, mask ])
 
関連項目

DecimalFormat、DollarFormat、IsNumeric、LSNumberFormat

 
ヒストリ

ColdFusion MX: 動作の変更 : 指定されたマスク形式で数値を正しくマスクできない場合は、そのままの数値が返されます(数値が丸められたり、エラーが発生したりすることはありません)。マスクが選択されていない場合、ColdFusion MX では ColdFusion 5 と同様に小数部分が丸められます。たとえば、34.567 は 35 となります。

 
パラメータ

次の表でマスク文字を解説します。

   
アンダースコア (_)
オプションです。桁プレースホルダーです。
9
オプションです。桁プレースホルダーです。アンダースコア (_) よりも明確に小数点の位置を示 します。
.
この位置に小数点を固定します。
0
固定した小数点の左または右に置いて、0 でパディングすることを示します。
( )
数値が 0 よりも小さい場合は、マスクを丸括弧で囲みます。
+
正の数の前にプラス記号 (+) を付け、負の数の前にマイナス記号 (-) を付けます。
-
正の数の前にスペースを付け、負の数の前にマイナス記号 (-) を付けます。
,
3 桁ごとにカンマで区切ります。
L、C
マスク列の中で数値を左揃えまたは中央揃えにします。L または C はマスクの先頭に指定する 必要があります。デフォルトは右揃えです。
$
形式設定された数値の先頭にドル記号を置きます。ドル記号 ($) はマスクの先頭に指定する必 要があります。
^
右側の形式と左側の形式を区切ります。

メモ: マスクで符号が指定されていない場合は、正の数値と負の数値の桁位置が揃いません。正の数値の前にプラス記号またはスペースを付け、負の数の前にマイナス記号を付けるには、プラス記号またはマイナス記号のマスク文字をそれぞれ使用します。
 
使用方法

この関数では、すべてのプラットフォームで Java 標準のロケール形式設定ルールが使用されます。

形式マスク内の記号の位置によって、これらのコードが作用する位置は異なります。たとえば、ドル記号を形式マスクの完全な左端に配置すると、形式設定された数値のフィールド全体の左端にドル記号が表示されます。形式マスクの左端とドル記号の間に 1 つまたは複数のアンダースコアを置くと、形式設定された数値のフィールド内で、数字のすぐ左に隣接してドル記号が表示されます。

次の例は、記号の位置がどのように形式設定に影響するかを示しています。

     
4.37
$____.__
"$ 4.37"
4.37
_$___.__
" $4.37"

同様に、負の数値にマイナス記号 (-) を表示する位置も次のように指定できます。

     
-4.37
-____.__
"- 4.37"
-4.37
_-___.__
" -4.37"

記号の位置は、左端、左隣、右隣、および右端です。左右の位置は、コード文字が表示される小数点の位置によって決まります。小数点以下の桁数が固定されていない形式の場合は、カレット (^) を使用して左右のフィールドを区切ることができます。

コードを離れた位置に置くか、隣接した位置に置くかは、アンダースコア (_) によって決まります。ほとんどのコード文字は、いずれのフィールドに置くかによって効果が異なります。次の例は、負の数値を表示するための括弧を置く位置を指定する方法を示しています。

     
3.21
C(__^__)
"( 3.21 )"
3.21
C__(^__)
" (3.21 )"
3.21
C(__^)__
"( 3.21) "
3.21
C__(^)__
" (3.21) "

文字列を double 型の数値に変換するとき、この関数では、四捨五入による誤差を防ぐため、変換後の数値に四捨五入係数 1.5543122344752E-014 を加算します。たとえば、四捨五入係数を追加しないで、文字列値 1.275 を小数点以下 2 桁の double 値に変換すると、値は 1.27499999999999999 となり、1.27 に四捨五入されます。四捨五入係数を加えることにより、正しく変換が行われ、結果は 1.28 となります。

ただし、1.99499999999999999999999999999 のように 10E-14 の桁まで使用されている double 値の場合、四捨五入係数が加算されることで、誤った四捨五入の結果が生じる可能性があります。

日付、時刻、数値、および通貨の値のデフォルトの表示形式を設定するには、SetLocale 関数を使用してください。

 
<h3>NumberFormat の例</h3>

<cfloop FROM = 1000 TO = 1020 INDEX = "counter">
<cfset CounterRoot2 = counter * sqr(2)>

<!--- デフォルト形式 (3 桁ごとにカンマを付ける形式) と、小数点以下 2 桁までのカスタム形式で結果を表示 --->
<cfoutput>
<pre>#counter# * (2 の平方根): #NumberFormat(CounterRoot2,
  '_____.__')#</pre>
<pre>#counter# * (2 の平方根): #NumberFormat(CounterRoot2)#</pre>
</cfoutput>
</cfloop>
NUMBER  
数値です。
MASK  
文字列、または文字列を含んでいる変数です。数値の表示方法を指定する文字のセットです。