本文介绍了ColdFusion 的 DecimalFormat() 函数是怎么回事?我怎样才能得到正确的结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<cfset number1 = 20.5/80 * 100 />
<cfset number2 = 18.125 />
<cfset number3 = 6.875 />
<cfoutput>
DecimalFormat(#number1#): #DecimalFormat(number1)#<br />
DecimalFormat(#number2#): #DecimalFormat(number2)#<br />
DecimalFormat(#number3#): #DecimalFormat(number3)#
</cfoutput>
输出:
十进制格式(25.625):25.62
DecimalFormat(25.625): 25.62
十进制格式(18.125):18.13
DecimalFormat(18.125): 18.13
十进制格式(6.875):6.88
DecimalFormat(6.875): 6.88
而不是输出:
十进制格式(25.625):25.63
DecimalFormat(25.625): 25.63
十进制格式(18.125):18.13
DecimalFormat(18.125): 18.13
十进制格式(6.875):6.88
DecimalFormat(6.875): 6.88
似乎作为数学计算结果的变量使 DecimalFormat() 的行为有所不同.任何快速修复,无需深入研究 java?
It seems that a variable that is the result of a mathematical calculation makes DecimalFormat() behave differently. Any quick fix, without digging into java?
推荐答案
我认为问题不是DecimalFormat()
,而是典型的浮点舍入错误.
I think the problem is not DecimalFormat()
, but the typical floating-point rounding errors.
这篇关于ColdFusion 的 DecimalFormat() 函数是怎么回事?我怎样才能得到正确的结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!