我正在做一些数学计算。这是我的代码:
decimal FirstYr = decimal.Round((first / second), 5);
如果我传递
first = 20
和 second = 34
,我会在 FirstYr 中得到 0.58824 的值。这很好。现在我在我的 LINQ 中进行这个计算: ev.HiComm = (float)(FirstYr * 100);
HiComm 在 数据库 中是 float 的,上面的计算是传递值: 58.824001312255859
我不想要它。我想在我的
ev.HiComm = 58.824
我在这里做错了什么?
最佳答案
如果您想要在点后正好 3 个位置,则必须将 sql 字段更改为 decimal(x,3)
其中 x 是 3 加上小数点前所需的最大位置。 float
无法存储您想要的确切值。