1

我正在开发一个 C# 应用程序,该应用程序导入一个 Excel 文件以供应用程序用户上传。我的应用程序使用实体框架和 SQL Server 2008 数据库。

在我的 SQL Server 数据库中,我创建了一个列来保存这种格式的值:1,565,000.62. 我将列定义为因此在我的实体类中为相同的属性创建decimal了相应的属性。decimal

但是,当我将我的值添加到我的实体类中时,我得到一个无效的强制转换异常。

用于此类值(C# 和 SQL Server)的最佳数据类型是什么?

4

1 回答 1

0

您应该使用 afloat或 a doubleI beleive。

查看这个问题的第二个答案Difference between decimal, float and double in .NET? 它谈到了小数如何无法与没有强制转换的双精度或浮点数进行比较。

对于 Sql deciaml,请查看这个问题和答案:What代表 SQL Server 中的双精度值? 当您知道精确时,它谈论十进制,并谈论 c# 中的小数与 C# 小数形成对比。

于 2012-08-29T18:46:39.423 回答