将双字符串转换回double

时间:2011-03-30 20:09:02

标签: .net c#-3.0

var doubleMaxValueString = double.MaxValue.ToString(CultureInfo.InvariantCulture);

我希望将它转换回双倍,所以我这样做:

var doubleMaxValue = double.Parse(doubleMaxValueString, CultureInfo.InvariantCulture);

但它不起作用......

如何将其转换回双倍?

谢谢!

编辑: 抛出:OverflowExceptionValue:对于Double来说太大或太小。

我正在使用var,因为它更实用=)

1 个答案:

答案 0 :(得分:7)

你可以找到很好的解释here。基本上问题是,在将double转换为string时,我们将其四舍五入,使其超过double.MaxValue。您可以通过以下方式修复:

var doubleMaxValueString = double.MaxValue.ToString("R", CultureInfo.InvariantCulture);
var doubleMaxValue = double.Parse(doubleMaxValueString, CultureInfo.InvariantCulture);

有关“R”论点的更多信息及其帮助原因here on msdn