float
または、オールドスクールに行きたい場合:
real
float(53)を使用することもできますが、これはfloatと同じ意味です。
(「実際の」はfloat(24)と同等であり、float / float(53)と同等ではありません。)
10月(x、y) SQL Serverタイプは、正確が必要な場合に使用します 浮動小数点ではなく10進数(近似値になる可能性があります)。これは、128ビット浮動小数点数に似たC#の「10進数」データ型とは対照的です。
MSSQLのフロート タイプは64ビットのdoubleと同等です .NETと入力します。 (2011年の私の最初の回答では、仮数にわずかな違いがある可能性があると述べていましたが、2020年にこれをテストしました。非常に小さい数と非常に大きい数の両方のバイナリ表現で、100%互換性があるようです。https:/を参照してください。 /dotnetfiddle.net/wLX5Ox(私のテスト用)。
さらに混乱させるために、C#の「float」は32ビットしかないため、SQLではfloat / float(53)よりもMSSQLのreal / float(24)型に相当します。
特定のユースケースでは... 緯度と経度を約1メートルの精度で表すには、小数点以下5桁で十分です。必要なのは、度の小数点前3桁までです。 Float(24)またはdecimal(8,5)は、MSSQLのニーズに最適であり、C#でfloatを使用するだけで十分であり、doubleは必要ありません。実際、ユーザーは、乗車のために重要でない数字をたくさん持ってくるのではなく、小数点以下5桁に四捨五入してくれてありがとうと思うでしょう。