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吗?