我对C#语言很陌生。如何将字符串放入int?
我尝试过以下方法:
number gets filled from database value and I can't change the database field type....
int getal = number; //where number is a String.
答案 0 :(得分:6)
试试这个:
//With this 'number' will converted to an Integer
int getal = Convert.ToInt32(number);
或者你可以试试这个:
int getal;
if(int.TryParse(number, out getal))
{
// the number is valid, parse was succesfull!
}
答案 1 :(得分:4)
int getal = int.Parse(number); // can throw an exception if the format is invalid
或验证号码:
int getal;
if(int.TryParse(number, out getal))
{
// valid int, the value is now parsed successfully
}
答案 2 :(得分:3)
您可以使用int.Parse
int getal = int.Parse(number);
您还可以使用int.TryParse
,以便在发生异常时,它不会停止您的程序。相反,它只会输出0
int getal;
bool valid = int.TryParse(number, out getal); //in this case *getal* is the converted string
您还可以使用有效变量来检查它是否是有效的int。
答案 3 :(得分:1)
由于此整数来自数据库,因此可以使用可以为空的整数
if(String.IsNullOrEmpty(number)){
return new int?;
} else {
// use try parse
答案 4 :(得分:0)
更安全的方法是使用int.TryParse:
//
// See if we can parse the 'text' string. If we can't, TryParse
// will return false. Note the "out" keyword in TryParse.
//
string text1 = "x";
int num1;
bool res = int.TryParse(text1, out num1);
if (res == false)
{
// String is not a number.
}
//
// Use int.TryParse on a valid numeric string.
//
string text2 = "10000";
int num2;
if (int.TryParse(text2, out num2))
{
// It was assigned.
}
//
// Display both results.
//
Console.WriteLine(num1);
Console.WriteLine(num2);