在SQL server float字段中插入c#双精度值.(没有小数部分)

本文关键字:小数部 双精度 server SQL float 字段 插入 | 更新日期: 2023-09-27 18:15:08

我试图通过EF 5插入双值到我的数据库。我从数据库生成EF实体模型。表中有一个价格列是float类型,EF自然为映射器类生成了一个double类型。我从文件中读取一些字符串值,并将其转换为double并将其保存到db。当我调试时,我可以看到值被正确转换。例如,字符串值"120,53"120.53一样被转换为双精度,很好。但是当我保存上下文时,它会像"12053"一样转到db。

是什么导致这样的问题?在SQL Server中有任何设置与此有关吗?

在SQL server float字段中插入c#双精度值.(没有小数部分)

我相信问题是在你的转换。ToDouble和the,用来代替小数点。如果不提供数字的区域性,则可能会将,解释为千分之一分隔符并忽略它。尝试传入CultureInfo。如果您的环境的区域性是其中的,用作小数,则将CurrentCulture作为第二个参数(IFormatProvider)。或者,因为看起来你是在用小数替换,-就不要替换它。