0

エンティティフレームワークとmysqlをバックエンドとして使用しています。

lat型とlong型のfloat型のエンティティがあります。

値がlat:45.50818およびlong:-73.55409であるとしましょう

dbに挿入した後、DBの値はlat:45.508183およびlong:-73.554092です。

データベースでは、タイプはfloat(10,6)です。

余分な3と2はどこから来ていますか?

また、データベースにクエリを実行すると、エンティティに正しい緯度/経度が含まれます...

どんな助けでもありがたいです、

ありがとうございました

4

1 に答える 1

2

代わりに10進データ型を使用する必要があります

decimal(10,6)

フルートポイント番号は概数です。定義float(10,6)とは、その精度を格納できることだけを意味しますが、その精度の後で数値が不正確になる可能性があります。固定小数点数にはその問題はありません。

于 2012-06-02T15:25:12.187 に答える