var doubleMaxValueString = double.MaxValue.ToString(CultureInfo.InvariantCulture);
,我想将其转换回双,所以我在做这样的:转换双字符串返回到一倍
,但它不工作...
我如何将它转换回双倍?
谢谢!
编辑: 它会抛出:OverflowExceptionValue:对于Double来说太大或太小。
我使用VAR,因为它更实用=)
var doubleMaxValueString = double.MaxValue.ToString(CultureInfo.InvariantCulture);
,我想将其转换回双,所以我在做这样的:转换双字符串返回到一倍
,但它不工作...
我如何将它转换回双倍?
谢谢!
编辑: 它会抛出:OverflowExceptionValue:对于Double来说太大或太小。
我使用VAR,因为它更实用=)
你可以找到很好的解释here。基本上问题是,在将double
转换为string
时,我们正在将其舍入,因此它超过了double.MaxValue
。您可以通过这种方式解决,例如:在“R”的说法
var doubleMaxValueString = double.MaxValue.ToString("R", CultureInfo.InvariantCulture);
var doubleMaxValue = double.Parse(doubleMaxValueString, CultureInfo.InvariantCulture);
的更多信息,以及为什么它可以帮助发现here on msdn
你能更具体的不是“不工作”?它抛出异常吗?你没有得到你期望的价值吗?不相关:我也很好奇你为什么选择在这些情况下使用'var',因为你知道这两个函数返回的类型是什么(但也许别人可以提供一个关于这个)。 – eldarerathis 2011-03-30 20:10:23
你为什么这样做?为什么你不会在第二个例子中使用'double.MaxValue'? – 2011-03-30 20:17:47
我正在创建一个系统,用户可以在其中键入一个值并选择其类型,在这种情况下,我在测试时出现此错误...这就是为什么......我只是想了解为什么它不起作用。 – Bruno 2011-03-30 20:19:41