我创建了控制台应用程序,我使用EF。我有模型,其中有一些浮点变量。在我的数据库中,我也使用FLOAT。
在c#中我得到了这个值:3,3 将其插入我的数据库后,有值:3,29999995231628
为什么会这样?
答案 0 :(得分:4)
FLOAT
数据类型不是精确的数据类型。如果您需要精确的精确度,那么您应该使用DECIMAL
或NUMERIC
。
答案 1 :(得分:1)
这是因为FLOAT
是近似数值数据类型。您可以改为使用DECIMAL
或NUMERIC
。
有关详细说明,请查看此SO帖子: Difference between numeric, float and decimal in SQL Server
答案 2 :(得分:0)
您可以使用 real (而不是 float )及其保存的true