将双字符串转换回double

Bru*_*uno 1 .net c#-3.0

var doubleMaxValueString = double.MaxValue.ToString(CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

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

var doubleMaxValue = double.Parse(doubleMaxValueString, CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

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

我怎样才能将它转换回双倍?

谢谢!

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

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

Sno*_*ear 7

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

var doubleMaxValueString = double.MaxValue.ToString("R", CultureInfo.InvariantCulture);
var doubleMaxValue = double.Parse(doubleMaxValueString, CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

有关"R"参数及其帮助原因的更多信息可以在msdn上找到