変数aに1.234567890123456789、変数bに0.000000000000000009をセットし、
合計を表示する。
<cfset a = 1.234567890123456789> <cfset b = 0.000000000000000009> <cfset c = a + b> <cfoutput> 合計1=#c#<br> 合計2=#PrecisionEvaluate(a+b)#<br> </cfoutput>
合計1は1.23456789012
この値は正確ではありません。
これは実数の有効値が最大12桁という理由です。
合計2は1.234567890123456798
ColdFusionのリファレンスによると、
PrecisionEvaluate 関数を使用すると、任意の長さ (BigDecimal 精度) の
小数値を計算できます。
BigDecimal 精度演算では、任意の長さの小数が受け入れられ、
任意の長さの小数が生成されます。
指数表記は使用されません。
とのことです。
小数点以下の桁数が大きい場合に使用してください。
ほとんどの場合は必要ないですね。