-5

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

double var1 = 0;

我有一个Value = 123.25.

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

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

输出应该是 = 123

4

6 回答 6

3

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

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

于 2013-02-05T11:45:54.863 回答
0

如何使用:

(int)var1

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

于 2013-02-05T11:47:11.723 回答
0

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

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

我无法理解你最后不喜欢 .0 的原因?如果您打印包含 123.0 的变量,它会显示为 123。使用调试器时我只能看到 123.0。你是如何使用价值的?如果您能告诉我们,如果提供的解决方案对您没有用处,我们可以找到更好的解决方案。

于 2013-02-05T11:47:12.887 回答
0
int someOtherInt = Convert.ToInt32(var1);
于 2013-02-05T11:47:30.200 回答
0

您对类型感到困惑。你不想double在这种情况下使用它的声音。相反,使用int.

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

output在这种情况下是 123。 Cast toint消除了对Math.Round.

于 2013-02-05T11:47:32.280 回答
0

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

如果您遵循该文章中的建议,您将能够立即获得解决问题的帮助。

于 2013-02-05T12:31:54.420 回答