我需要从没有小数点的双值中获取数据

本文关键字:获取 数据 小数点 | 更新日期: 2023-09-27 17:57:48

我有一个double变量,如下所示

double var1 = 0;

而且我有Value = 123.25

对于示例var1 += Math.Round(123.25),我得到123.0

所以我需要获得如下所示的数据?

输出应为=123

我需要从没有小数点的双值中获取数据

问题不在于数据,而在于字符串转换。double在123.0和123之间没有区别…它们是完全相同的值,具有相同的位。

因此,与其关注double值本身,不如看看你是如何使用它的——这是你没有告诉我们的。例如,您可能只想更改正在使用的格式模式。

如何使用:

(int)var1

你需要在哪里展示它的价值?

int someOtherInt = Convert.ToInt32(var1);

基于您的问题。如果您只想要整数值,为什么不将Math.Round()结果分配给类型int?那会得到你想要的。

int x = (int)Math.Round(123.25);

我不明白你为什么不喜欢结尾的.0?如果您打印变量保持123.0,它显示为123。使用调试器时,我只能看到123.0。您是如何使用该值的?如果你能告诉我们,那么如果提供的都对你没有用处,我们可以找到更好的解决方案。

我强烈建议您阅读以下内容:http://www.whathaveyoutried.com

如果你遵循那篇文章中的建议,你很快就能得到解决问题的帮助。

您对类型的混淆。在这种情况下,你不想使用double,而应该使用int

int var1 = 0;
int var2 = (int)123.25;
int output = var1 + var2;

在这种情况下CCD_ 8是123。强制转换为int消除了对Math.Round的需要。