在这种情况下我应该使用的正确数据类型是什么?

时间:2011-12-28 12:48:10

标签: c# sql-server types entity-framework-4 sqldatatypes

我必须在我的数据库中表示数字,这些数字是食物中的化学物质,如脂肪,能量,镁等。这些值是12345.67格式的小数。

如果我在SQL Server中使用decimal (5,2)作为数据类型,它会映射到实体框架中的Decimal类型。如果我在SQL Server中使用float作为数据类型,它将映射到Entity Framework中的Double

我不确定SQL Server中最好的数据类型是什么,或者它真的不重要吗?

编辑 - 在我的情况下它应该是decimal(7,2),正如一些评论中提到的那样!

感谢。

2 个答案:

答案 0 :(得分:11)

您需要decimal(7,2)

  • 7是总位数
  • 2小数点后

的差异:

  • float 近似并会产生意外结果
  • decimal是 exact

参考文献:

答案 1 :(得分:4)

DECIMAL(7,2)比漂浮更好 - 这正是你需要的(5 + 2位)。对于浮动类型(例如浮动,双重),您可能会遇到一些问题 - 例如四舍五入。