我怎样才能得到正确的结果

我怎样才能得到正确的结果

本文介绍了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.

请参阅:PrecisionEvaluate()

这篇关于ColdFusion 的 DecimalFormat() 函数是怎么回事?我怎样才能得到正确的结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 08:54