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

C# 我需要从没有小数点的双值中获取数据,c#,c#-4.0,double,type-conversion,C#,C# 4.0,Double,Type Conversion,我有一个double变量,如下所示 double var1 = 0; 及 我有一个值=123.25 例如var1+=Math.Round(123.25),我得到123.0 所以我需要得到如下所示的数据 输出应为=123问题不在数据中,而是在字符串转换中。123.0和123.0之间的double没有区别。。。它们是完全相同的值,具有相同的位 因此,与其专注于double值本身,不如看看您是如何使用它的——您还没有告诉我们。例如,您可能只想更改正在使用的格式模式。如何使用: (int)var1

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

double var1 = 0;
及 我有一个
值=123.25

例如
var1+=Math.Round(123.25)
,我得到123.0

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


输出应为=123

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

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

如何使用:

(int)var1

无论您需要在何处显示其价值?

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

int x = (int)Math.Round(123.25);
我不明白你为什么不喜欢最后的.0?如果打印包含123.0的变量,它将显示为123。使用调试器时,我只能看到123.0。
您如何使用该值?如果您能告诉我们,那么如果提供的解决方案中没有一个对您有用,那么我们可以找到更好的解决方案。

您可能会对这些类型感到困惑。在这种情况下,您不想使用
double
。相反,请使用
int

int someOtherInt = Convert.ToInt32(var1);
int var1 = 0;
int var2 = (int)123.25;
int output = var1 + var2;

输出
在本例中为123。强制转换为
int
将不再需要
Math.Round

我强烈建议您阅读以下内容:


如果您按照那篇文章中的建议进行操作,您将能够在很短的时间内获得解决问题的帮助。

您能为我提供代码吗,因为我是Fresher@Subbu:不,我们无法提供代码-您尚未向我们展示如何使用该值(即,您看到123.0的位置)。。。此外,它的目的是让你学习——因此你应该看看你的代码,并使用答案中提供的信息,看看你是否能自己修复它。@Subbu:“它不起作用”从来都不是一个好的回答。您应该始终提供更多信息。什么是
var1
?当它生成结尾为.0的值时,您如何使用它?这里的
output
不应该是123吗?