ColdFusion"是"eq"True"; "没有"eq"错误

riq*_*que 6 coldfusion

为什么 ?

<cfif "yes" eq "true">

Yes equals true.

<cfelse>

Yes does not equal true.

</cfif>
Run Code Online (Sandbox Code Playgroud)

页面输出."是的,这是真的."

Tra*_*vis 13

Chris'和Keshav的答案是正确的,ColdFusion会转换价值观.以下是有关ColdFusion数据转换的官方文档.

类型之间的转换

Value     As Boolean     As number     As date-time     As string

"Yes"     True           1             Error            "Yes"

"No"      False          0             Error            "No"

True      True           1             Error            "Yes"

False     False          0             Error            "No"
Run Code Online (Sandbox Code Playgroud)


Chr*_*ell 10

ColdFusion具有动态变量类型,并且在运行时进行一些奇怪的转换,字符串可以用作布尔值,日期和数字而不需要转换它们,这既有优点也有缺点.

如果需要进行简单的字符串比较,可以使用内置的compare()函数.

Ben Nadel在这里给出了字符串比较选项的一个很好的总结 - http://www.bennadel.com/blog/236-ColdFusion-String-Comparison-Compare-vs-Equals-vs-CompareTo-.htm


小智 2

在 ColdFusion 中,“yes”和“true”在用作表达式时都会转换为数值 1