将类似"09335887170"的字符串转换为整数

use*_*977 1 .net c#

如何将像"09335887170"这样的字符串转换为整数?这是我尝试过的:

string a = "09335887170";
int myInt;
bool isValid = int.TryParse(a, out myInt); // it returns false in this case

if (isValid)
{
    int plusOne = myInt + 1;
    MessageBox.Show(plusOne.ToString());
}

MessageBox.Show(a);
int stringToInt = Convert.ToInt32("09335887170"); // it returns nothing with no error
MessageBox.Show((stringToInt + 1).ToString());

int test = int.Parse(a); //it has type convertion error            
MessageBox.Show((test + 1).ToString());
Run Code Online (Sandbox Code Playgroud)

小智 9

a Int32(或唯一int)的最大值是2,147,483,647,你需要一个UInt64或Int64或Long

string a = "09335887170";
Int64 myInt;
bool isValid = Int64.TryParse(a, out myInt);
if (isValid)
{
    int plusOne = myInt + 1;
    MessageBox.Show(plusOne.ToString());
}
Run Code Online (Sandbox Code Playgroud)

  • 或者只是Int64代表的"Long".;) (3认同)