我试图制作一个小应用程序。它在服务器响应中获取ID,但它是字符串格式。我需要将其转换为76561198078450726
,但它似乎无法正常工作。该ID例如是Int.TryParse
。 0
返回{{1}}。
其他方法也不起作用。你有什么想法,问题是什么?
编辑:非常感谢你的有用答案。我不知道,我怎么能错过。谢谢!
答案 0 :(得分:5)
这是一个非常大的数字。 Int仅转到2147483647
。
使用long
或查看System.Numerics.BigInteger
更大的内容:https://msdn.microsoft.com/en-us/library/system.numerics.biginteger.aspx
编辑:
另外,int.TryParse
会返回true
或false
而 是您应该检查的内容,而不是out
值是否为0.因为{{ 1}}也完全有效。
答案 1 :(得分:3)
76561198078450726远远超出int
的范围(-2,147,483,648到2,147,483,647),改为使用long
:
if (long.TryParse(value, out myValue)) ...
答案 2 :(得分:2)
由于int.MaxValue
为2147483647
,因此对于32位有符号整数,此值太大。我建议改为将其解析为long
。
long l = long.Parse("76561198078450726");
答案 3 :(得分:2)