<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>
OUTPUTS:
十进制格式(25.625): 25.62
十进制格式(18.125):18.13
十进制格式(6.875): 6.88
而不是输出:
十进制格式(25.625): 25.63
十进制格式(18.125):18.13
十进制格式(6.875): 6.88
数学计算结果的变量似乎使 DecimalFormat() 的行为有所不同。有什么快速解决办法,而不深入研究java?
我认为问题不在于DecimalFormat()
,但是典型的浮点舍入误差。
see: PrecisionEvaluate()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)