var doubleMaxValueString = double.MaxValue.ToString(CultureInfo.InvariantCulture);
我希望将它转换回双倍,所以我这样做:
var doubleMaxValue = double.Parse(doubleMaxValueString, CultureInfo.InvariantCulture);
但它不起作用......
如何将其转换回双倍?
谢谢!
编辑: 抛出:OverflowExceptionValue:对于Double来说太大或太小。
我正在使用var,因为它更实用=)
答案 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