如何解决从 .NET Entity Framework 添加时,0.3 在 SQL Server 中转换为 0.300000011920929
我在 sql Server 中有一个表,其中有一列数据类型为 float
。我编写了一个用于插入记录的存储过程,它也接受参数为 float
。
然而,实体框架生成了数据类型为 double
的方法。因此,当我从 .NET 客户端添加 0.3 时,它会更改为 0.300000011920929,但是我需要添加我添加的确切值,即 0.3。
任何想法如何解决这个问题?
谢谢。
解决方法
在 SQL 中,与在其他语言中一样,float
数据类型不能用于存储精确的 10 十进制值,因为 float
并不总是具有精确表示(https://blog.greglow.com/2018/01/15/sql-newbie-mistake-1-using-float-instead-decimal/)。尝试改用 decimal
数据类型,它在 SQL 中旨在精确存储十进制值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。