我有一个简单的网络应用程序,想在 SQL Server 中保存一些 Float 或 Double 格式的数字。
但是有一个问题,当我尝试保存 123.66 时,在表中我看到存储了 123.6600003662109。
保存在数据库中时,我的 float 如何改变?我该如何解决这个错误?
谢谢
最佳答案
您不是实际上试图保存 123.66,因为您不能将 123.66 精确表示为 float 或 double 。数据库比您习惯的更准确地保存数据,仅此而已。
如果要准确保存十进制数,请使用decimal
类型。
请参阅我关于 floating binary point 的文章和 floating decimal point类型以获取更多信息。
关于c# - 在 SQL Server 中保存浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1005725/