我創建了使用EF的控制檯應用程序。我有模型,其中有一些浮點變量。在我的數據庫中,我也使用FLOAT。SQL Server更改float的值
在C#我有這個值:3,3 其插入到我的數據庫有值後:3,29999995231628
爲什麼會發生?
我創建了使用EF的控制檯應用程序。我有模型,其中有一些浮點變量。在我的數據庫中,我也使用FLOAT。SQL Server更改float的值
在C#我有這個值:3,3 其插入到我的數據庫有值後:3,29999995231628
爲什麼會發生?
FLOAT
數據類型不是精確的數據類型。如果你需要精確的精度,那麼你應該使用DECIMAL
或NUMERIC
。
這是因爲FLOAT
是一個近似的數字數據類型。相反,您可以使用DECIMAL
或NUMERIC
。
對於詳細的解釋,檢查此SO交: Difference between numeric, float and decimal in SQL Server
的'FLOAT'數據類型不是一個確切的數據類型。如果你需要精確的精確度,那麼你應該使用'DECIMAL'或'NUMERIC'。 –
添加一個答案,我會接受它。感謝您的信息@TomH – Icet
[在十進制,浮點數和浮點數之間的區別?](http://stackoverflow.com/questions/618535/difference-between-decimal-float-and-double-in-net ) – user1666620