Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么Int32.TryParse为数字返回false?_C#_Parsing_Int_Tryparse - Fatal编程技术网

C# 为什么Int32.TryParse为数字返回false?

C# 为什么Int32.TryParse为数字返回false?,c#,parsing,int,tryparse,C#,Parsing,Int,Tryparse,我有以下代码: string sPhone = "420777777777"; int rPhone; bool valid = Int32.TryParse(sPhone, out rPhone); //false if (!valid) return ""; return String.Format("{0:+### ### ### ###}", rPhone); 我想格式化电话号码,以便将字符串转换为int,但valid的值始终为false。如何将此字符串转换为int?我还在尝试int

我有以下代码:

string sPhone = "420777777777";
int rPhone;
bool valid = Int32.TryParse(sPhone, out rPhone); //false
if (!valid)
 return "";
return String.Format("{0:+### ### ### ###}", rPhone);
我想格式化电话号码,以便将字符串转换为int,但
valid
的值始终为false。如何将此字符串转换为int?我还在尝试
int.TryParse
Convert.ToInt32
。什么都不起作用。

因为是2147483647所以,字符串“420777”的转换永远不会是Int32的有效值

使用


Int32是32位数字,对于UInt32,其最大值为2147483647或4294967295。如果您有64位体系结构,可以尝试使用long.TryParse。

如果无法将它们相加,则它们不是数字。莎拉的电话号码加上布莱尔的电话号码是多少?你为什么要先把电话号码转换成整数?您打算用它进行计算吗?我需要将它格式化(最后一行),因为我需要将它转换为int。在32位体系结构上,long的最大值与Int32相同。这意味着它无助于解决这个问题。Int64(或long)。MaxValue是常量,定义为9223372036854775807,无论您使用什么体系结构。
string sPhone = "420777777777";
long rPhone;
bool valid = Int64.TryParse(sPhone, out rPhone); 
return (!valid ? "" : string.Format("{0:+### ### ### ###}", rPhone));