我已经尝试解析long和ulong的最大值,但是它失败了。怎么做?
Int64.TryParse(value.ToString(), out resultInt)
value
是Int64.MaxValue。因此,我尝试解析以下代码double.MaxValue
,但对于long
和ulong
类型却失败。
Int64.TryParse(Int64.MaxValue.ToString("G9", CultureInfo.InvariantCulture), out resultInt);
var max = ulong.MaxValue;
var maxStr = max.ToString();
Console.WriteLine(maxStr);
ulong l = ulong.Parse(maxStr);
Console.WriteLine(l);
.NETCoreApp,Version=v3.0
18446744073709551615
18446744073709551615
ulong的Parse忽略了指数。您可以使用decimal
。
var maxStr2 = Int64.MaxValue.ToString("G9", CultureInfo.InvariantCulture);
Console.WriteLine(maxStr2);
var l2 = Decimal.Parse(maxStr2, System.Globalization.NumberStyles.Float);
Console.WriteLine(l2);
9.22337204E+18
9223372040000000000