进行转换时如何解析long.MaxValue和ulong.MaxValue

问题描述 投票:1回答:1

我已经尝试解析long和ulong的最大值,但是它失败了。怎么做?

Int64.TryParse(value.ToString(), out resultInt)

value是Int64.MaxValue。因此,我尝试解析以下代码double.MaxValue,但对于longulong类型却失败。

Int64.TryParse(Int64.MaxValue.ToString("G9", CultureInfo.InvariantCulture), out resultInt);
c# wpf long-integer ulong
1个回答
0
投票
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
© www.soinside.com 2019 - 2024. All rights reserved.