我需要从double值获取数据而不必使用小数位

时间:2013-02-05 11:43:40

标签: c# c#-4.0 double type-conversion

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

double var1 = 0;

和     我有一个Value = 123.25

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

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

输出应为= 123

6 个答案:

答案 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

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