我正在做一些数学计算。这是我的代码:
decimal FirstYr = decimal.Round((first / second), 5);
如果我通过first = 20
和second = 34
,我会在 FirstYr 中获得 0.58824 的值。哪个好。现在我在 LINQ :
ev.HiComm = (float)(FirstYr * 100);
HiComm 在数据库中浮动,上面的计算是通过值: 58.824001312255859
我不想要它。我想要在我的ev.HiComm = 58.824
我在这里做错了什么?
答案 0 :(得分:3)
如果您想要在该点之后的3个位置,则必须将您的sql字段更改为decimal(x,3)
,其中x为3加上小数点前您需要的最大位置。 float
无法存储您想要的确切值。
答案 1 :(得分:0)
它背后的代码就是这样的:
decimal FirstYr = decimal.Round((first / second), 5)*100;
ev.HiComm = (double)FirstYr ;
感谢你的所有建议!