このトピックでは、EQL結果のdoubleのシリアライズ機能の精度の制限に関する情報を提供します。
浮動小数点数の特性として、内部のdoubleをそのdoubleの文字列表現に変換し、再度戻すと、そのEQLは完全な精度を保証できません。特に、数値の10進数桁数が15を超える場合、double-文字列-doubleの往復変換を行うと精度が失われ、開始時と異なる数値が取得されます。(これは桁の合計数であり、必ずしも小数点の後の桁ではありません。)
原則として、10進数桁数は様々な実装要因に依存しますが、実際には変更されることはほとんどありません。(より技術的に言えば、EQLでIEEE 754 64ビットの浮動小数点数が使用されるかぎり、その制限は同じ値に留まります。)
x BETWEEN (dblVal - epsilon) AND (dblVal + epsilon)この場合のdblValは前の問合せの値であり、epsilonは、レコードが一致する必要がある許容度を示す小さい正の数値です。
同様に、クライアントが範囲フィルタのエンド・ポイントとしてEQL結果からのdoubleを使用する場合、クライアントは、小さい許容度によって範囲の調整を行う必要がある場合があります。