我正在开发一个C#应用程序,用于导入要由应用程序用户上传的Excel文件。我的应用程序使用Entity Framework和SQL Server 2008数据库。
在我的SQL Server数据库中,我创建了一个以此格式保存值的列:1,565,000.62
。我将列定义为decimal
,因此在我的实体类中为该列创建了相应的decimal
属性。
但是,当我将我的值添加到我的实体类中时,我会得到一个无效的强制转换异常。
这种类型的值(C#和SQL Server)使用的最佳数据类型是什么?
答案 0 :(得分:0)
您应该使用float
或double
我相信。
查看此问题的第二个答案Difference between decimal, float and double in .NET? 它讨论了如何在没有强制转换的情况下将小数与双精度或浮点数进行比较。
另外对于Sql deciaml,请查看此问题并回答:What represents a double in sql server? 当你知道确切的时候会谈到十进制,并且在c#中与十进制相关的是十进制。