c# - 从十进制转换为 float

标签 c# asp.net casting floating-point decimal

我正在做一些数学计算。这是我的代码:

   decimal FirstYr = decimal.Round((first / second), 5);

如果我通过 first = 20second = 34 ,我在 FirstYr 中得到 0.58824 的值。这很好。现在,我正在我的 LINQ 中进行此计算:

   ev.HiComm = (float)(FirstYr * 100);

HiCommDB 中是 float 的,上面的计算是传递值:58.824001312255859

我不想要它。我想要我的 ev.HiComm = 58.824

我做错了什么?

最佳答案

如果你想要在点之后恰好 3 个位置,你必须将你的 sql 字段更改为 decimal(x,3) 其中 x 是 3 加上你之前需要的最大位置小数点。 float 无法存储您想要的确切值。

关于c# - 从十进制转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5757799/

相关文章:

java - 抽象基类与作为父类(super class)型的具体类

c# - 如何在 ASP.NET 中将列表从后端传递到前端

mysql - 类型 'MySqlConnection' 未定义

delphi - 德尔福中的不安全 Actor 有时只在某些机器上给出零?

C++ const char* 到 char*

c# - 我如何将字符串数字转换为 int

c# - 队列保持引用或对象值?

c# - 将 .NET 区域设置转换为 jQuery 区域设置 - 当本地资源中不存在国家变体(例如 "-US"或 "-MX")时

c# - ASP.NET 将 xml 字符串转换为字典

C:指向指定长度类型的指针