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