我正在做一些数学计算。这是我的代码:
decimal FirstYr = decimal.Round((first / second), 5);
如果我通过 first = 20
和 second = 34
,我在 FirstYr 中得到 0.58824 的值。这很好。现在,我正在我的 LINQ 中进行此计算:
ev.HiComm = (float)(FirstYr * 100);
HiComm 在 DB 中是 float 的,上面的计算是传递值:58.824001312255859
我不想要它。我想要我的 ev.HiComm = 58.824
我做错了什么?
最佳答案
如果你想要在点之后恰好 3 个位置,你必须将你的 sql 字段更改为 decimal(x,3)
其中 x 是 3 加上你之前需要的最大位置小数点。 float
无法存储您想要的确切值。
关于c# - 从十进制转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5757799/