我有一个double
变量,如下所示
double var1 = 0;
我有一个Value = 123.25
.
例如var1 += Math.Round(123.25)
,我得到 123.0
所以我需要得到如下所示的数据?
输出应该是 = 123
我有一个double
变量,如下所示
double var1 = 0;
我有一个Value = 123.25
.
例如var1 += Math.Round(123.25)
,我得到 123.0
所以我需要得到如下所示的数据?
输出应该是 = 123
问题不在于数据,而在于字符串转换。123.0 和 123 之间的 a 没有区别double
……它们是完全相同的值,具有相同的位。
因此,与其关注double
价值本身,不如看看你是如何使用它的——你还没有告诉我们。例如,您可能只想更改正在使用的格式模式。
如何使用:
(int)var1
无论你需要在哪里展示它的价值?
根据你的问题。如果您只想要整数值,为什么不将 Math.Round() 结果分配给 int 类型?那会让你得到你想要的。
int x = (int)Math.Round(123.25);
我无法理解你最后不喜欢 .0 的原因?如果您打印包含 123.0 的变量,它会显示为 123。使用调试器时我只能看到 123.0。你是如何使用价值的?如果您能告诉我们,如果提供的解决方案对您没有用处,我们可以找到更好的解决方案。
int someOtherInt = Convert.ToInt32(var1);
您对类型感到困惑。你不想double
在这种情况下使用它的声音。相反,使用int
.
int var1 = 0;
int var2 = (int)123.25;
int output = var1 + var2;
output
在这种情况下是 123。 Cast toint
消除了对Math.Round
.
我强烈建议您阅读以下内容:http: //www.whathaveyoutried.com
如果您遵循该文章中的建议,您将能够立即获得解决问题的帮助。