2016-04-25 18 views
1

私はこのようなコードを持っている:のColdFusion番号形式

<cfset n = '222222222222222'> 
<cfset sum=0> 
<cfset sum += n> 
<cfoutput>#sum#</cfoutput> 

出力されています:

2.22222222222E+014 

は、私が「222222222222222」として、通常の形式で出力を得ることができる方法はありますか?

+0

しかし、非常に多くの数字がありますので、「222222222222222」が読みそう難しいだろう: あなたのコードは以下のようにする必要があります。指数表記を使用すると、数値の大きさをすぐに見ることができます。 –

+0

はい、今のところ指数関数形式は私のために問題を引き起こしています:)だから、私は回避策を探していましたが、Web上で関連するものは見つけられませんでした。 – Ritu

+1

どのような問題がありますか? –

答えて

5

nの値は、それが大きな整数だ222222222222222.あります。大きな整数に対して算術演算を実行するには、precision evaluate functionが必要です。

<cfset n = '222222222222222'> 
<cfset sum=0> 
<cfset sum = precisionEvaluate(sum + n)> 
<cfoutput>#sum#</cfoutput> 
+0

精度を維持する必要があります。しかし、それは出力が科学的表記を含むことは決してありません。この特定のケースでは適用されませんが、BigDecimalを使用しても、[一部の数値は科学的表記で表示されることがあります](http://stackoverflow.com/a/18594912/104223)、fyi。 – Leigh

2

可能溶液(与えられた例で動作):CF Doc - NumberFormat

#NumberFormat(sum, '9')#

+0

この場合は適用されませんが、値は四捨五入される場合があります。詳細については、[numberFormat/usage](http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-72c8.html)を参照してください。 – Leigh