SQL添加随机小数点时,从DB到c#中的双精度

本文关键字:双精度 DB 随机 添加 小数点 SQL | 更新日期: 2023-09-27 18:02:11

当我从c#输入双数字到DB时,我在DB中使用实类型。当我检查值时,它就是我输入的值。

现在,当我从DB中检索值并将其存储到c# double中时,它会在结束时添加随机的十进制值。数据库中的数字是我想要的正确值,但c#中的双精度值只是随机的(有时比实际值高,有时比实际值低)

ie

- Enter into the db 123.43 as a double to an sql real.
- View the value in the DB, it's exactly 123.43
- Get the value from the DB and store into a C# double, value in the double is now 123.4300000305176

我已经尝试在DB中将类型更改为float, decimal等,但当我将其放入DB时,这些类型实际上会改变值,与上述格式相同。

有什么帮助发生了什么或如何解决它?

SQL添加随机小数点时,从DB到c#中的双精度

您可能应该使用Decimal类型。参见sql server中什么代表双精度?

如果您的DB类型是real,请尝试使用Single。查看这里的数据映射http://msdn.microsoft.com/en-us/library/ms131092.aspx