したがって、'00' == '.0'
の場合、ColdFusionはtrue
を返します。
これはCF 9.1とCF 10で再現可能です。
find('.', foo)
条件を追加することで簡単に回避できますが、これは正常ではありません。ColdFusionでは文字列 '00'が '.0'になりますか?ほかに何か?
このようなことは、ColdFusionを疑わせるものです。それは、なぜ私がこの明らかに偽の状態で真実を返すのかと、他のどのような価値観が等しいと思うのだろうかと思います。
Coldfusionで比較できない値のリストはありますか?それとも、この不一致を防ぐための確実な解決策がありますか?
あなたは私を冗談ですか? '' 0.25 '==' 6A ''。どうして? Coldfusionは0.25が1日の四半期であると考えているため、午前6時もそうです。私は大きなWTFがここにあると思う。 – jan
'writeDump(compare("。0 "、" 00 ")== 0);' CFは巧妙になり、値をキャストしようとします。 compare関数は、2つの文字列の等価性をテストします。 –
私はこれをバグとして提出しました。実際には、これを行うことが記述されています(あいまいな型式と文字列) - http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7f46.html – haxtbh