无法将数字转换为Int C#

时间:2016-02-11 11:51:51

标签: c# .net string int

我试图制作一个小应用程序。它在服务器响应中获取ID,但它是字符串格式。我需要将其转换为76561198078450726,但它似乎无法正常工作。该ID例如是Int.TryParse0返回{{1}}。

其他方法也不起作用。你有什么想法,问题是什么?

编辑:非常感谢你的有用答案。我不知道,我怎么能错过。谢谢!

4 个答案:

答案 0 :(得分:5)

这是一个非常大的数字。 Int仅转到2147483647

使用long或查看System.Numerics.BigInteger更大的内容:https://msdn.microsoft.com/en-us/library/system.numerics.biginteger.aspx

编辑: 另外,int.TryParse会返回truefalse 是您应该检查的内容,而不是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.MaxValue2147483647,因此对于32位有符号整数,此值大。我建议改为将其解析为long

long l = long.Parse("76561198078450726");

答案 3 :(得分:2)

BB是2,147,483,647。当TryParse失败时,它返回0.

尝试Int32.MaxValue

enter image description here

Reference