ColdFusionとは10090000000557765
= 10090000000557763
と考えています。ColdFusion多数比較
私は理由を知りますが、ColdFusionが同じではないことを知るための最良の方法を知る必要があります。私はCompare()
メソッドについて読んでいますが、それもtrueを返します。私はそれらを文字列としてキャストし、また真実を返します。
文字列を2つの部分に分割し、それぞれを個別に比較し、true/falseを返すカスタム関数を書くことを考えましたが、それはダムのようです。
私は次のことを試してみた:明確にするため
Val(a) EQ Val(b)
ToString(a) EQ ToString(b)
a.compareTo(b)
。私はDBを使用しています。私はbigintを使用することを制御しません。私は早くJavascriptでこれらを処理できないことを学んだので、私はすべてのbigintフィールドを私のモデルでvarcharに変換しました。しかし、CFは文字列を比較するのに問題があり、数字に戻すことはできません。 http://cflive.net/で
<cfif '10090000000557765' EQ '10090000000557763'>
True
<cfelse>
False
</cfif>
、それはtrueを返し:
例私はちょうどでした。私のメモを参照してください。 DBではbigintです。 Javascriptはbigintを扱うことができないので、それらを取り除くときにVarCharとしてキャストしなければなりませんでしたが、文字列はうまくいきます。
比較するコードを表示します。 – WillardSolutions
私は、より多くのランダムな文字を文字列に追加して、それをより違ったものにしたり、ハッシュや何かにすることを考えましたが、同じ問題に遭遇するかもしれないようです。私のモデルでは、Javascriptも同様に問題を抱えていたため、これらのすべてを文字列としてキャストしました。 ColdFusionは、私が思った数のときに、それらをより良く扱うように見えました。 CFが大好きだが、Javascriptはそうではないようだ。 ColdFusionで文字列を比較すると、ColdFusionでの比較が壊れてしまい、数値に戻すことができません。 – Leeish
私は 'hash(a)EQ hash(b)'を実行しようとしましたが、動作しますが、これを処理するためにCFに何かが組み込まれているようです。 – Leeish