【发布时间】:2011-08-11 02:19:43
【问题描述】:
我正在做一些数学计算。这是我的代码:
decimal FirstYr = decimal.Round((first / second), 5);
如果我通过 first = 20 和 second = 34,我将在 FirstYr 中获得 0.58824 的值。这很好。现在我在我的 LINQ 中进行此计算:
ev.HiComm = (float)(FirstYr * 100);
HiComm 在 DB 中是浮动的,上面的计算是传递值:58.824001312255859
我不想要它。我想在我的ev.HiComm = 58.824
我在这里做错了什么?
【问题讨论】:
-
这可能会让你感兴趣:stackoverflow.com/questions/122523/…
-
任何理由你不只是将第一行代码乘以 100
-
我可以这样做,但无论哪种方式我都需要将其转换为浮动!
-
@Luke:我尝试了你的方法,它奏效了。谢谢!
-
我为您上面的代码创建了一个单元测试,它对我有用。希望有人能给出真正的答案,我不明白为什么移动 * 100 应该使它起作用:-/
标签: c# asp.net casting floating-point decimal