为什么Coldfusion 8将47.0000 * 15.40 eq 723.8评估为假?

<cfset test = false />
<cfset a = 47.0000 />
<cfset b = 15.40 />
<cfset c = 723.8 />

<cfif (a * b) eq c>
  <cfset test = true />
</cfif>

<cfdump "#test#">

测试输出为假。

最佳答案

您可以使用 PrecisionEvaluate() 让 CF 使用 BigDecimals 进行数学运算。

<cfset test = false />
<cfset a = 47.0000 />
<cfset b = 15.40 />
<cfset c = 723.8 />

<cfif PrecisionEvaluate(a * b) eq c>
  <cfset test = true />
</cfif>

<cfdump var="#test#" abort="true">

这导致预期的答案为真。

关于coldfusion - 为什么 Coldfusion 评估这些数字不相等?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14606621/

10-11 20:20