我对在ColdFusion 10(10,0,20,282462)中关注int()
- 函数的行为感到有点困惑:
<cfset dummy = 100 - (5859 / (6510 / 100)) />
<cfoutput>
dummy = #dummy#<br><br> <!--- 10 --->
int(10) = #int(10)#<br> <!--- 10 --->
int(dummy) = #int(dummy)# <!--- 9 --->
</cfoutput>
有人可以解释为什么int(dummy)
会返回9而不是10吗?
答案 0 :(得分:0)
int(dummy)
返回9
而不是10
,因为它在其他语言中基本上是floor()
,您的答案可能会变为9
,因为默认情况下, ,它们被视为double
。
您是否听说过PrecisionEvaluate()
https://cfdocs.org/precisionevaluate
dummy = PrecisionEvaluate(100 - (5859 / (6510 / 100)));
writeOutput(dummy);
您将按预期获得10