2016-04-04 6 views
0

私は、列の1つがREAL型のDBテーブルを持っています。私は.NET環境でこの列の値を比較する必要がありますが、REALへのキャストは数値を混乱させます。例えば.NETでfloat変数の実際の値を見つける方法

、DBに15.02を保存すると、実際に値15.020000457763672を保存します。 後でDBから読み込み、15.02をDBから取得した値と比較しようとすると、予期しない結果が発生します。

下位互換性のためにREALデータ型に固執しているので、ビットごとに浮動小数点数を構成することなく、.NETコードで変数の「実際の」値を取得する方法はありますか?

上記の例を使用すると、.NETコードで15.02 => 15.020000457763672をどのように変換できますか?

+2

これは浮動小数点の仕組みです。浮動小数点数を比較する場合は、完全一致ではなく、許容範囲を探す必要があります。 –

答えて

0

float型を作成し、double型に変換します。 float f = 15.02f; double d = Convert.ToDouble(f); f.ToString( "r")=> "15.020000457763672"

関連する問題