我有一个TextBoxD1.Text,我想将其转换为int,并将其存储在数据库中。
我该怎么做?
我有一个TextBoxD1.Text,我想将其转换为int,并将其存储在数据库中。
我该怎么做?
当前回答
您可以借助parse方法将字符串转换为整数值。
Eg:
int val = Int32.parse(stringToBeParsed);
int x = Int32.parse(1234);
其他回答
您可以在没有TryParse或内置函数的情况下执行以下操作:
static int convertToInt(string a)
{
int x = 0;
for (int i = 0; i < a.Length; i++)
{
int temp = a[i] - '0';
if (temp != 0)
{
x += temp * (int)Math.Pow(10, (a.Length - (i+1)));
}
}
return x;
}
您可以在C中将字符串转换为int许多不同类型的方法#
第一种主要使用:
string test = "123";
int x = Convert.ToInt16(test);
如果int值更高,则应使用int32类型。
第二个:
int x = int.Parse(text);
如果要进行错误检查,可以使用TryParse方法。在下面我添加了可为null的类型;
int i=0;
Int32.TryParse(text, out i) ? i : (int?)null);
享受您的代码。。。。
如果您知道字符串是整数,请执行以下操作:
int value = int.Parse(TextBoxD1.Text);
如果您不知道字符串是整数,请使用TryParse安全地执行。
在C#7.0中,可以使用内联变量声明。
如果解析成功-value=其解析值。如果解析失败-值=0。
代码:
if (int.TryParse(TextBoxD1.Text, out int value))
{
// Parse succeed
}
缺点:
无法区分0值和未分析的值。
如果您正在寻找长远的方法,只需创建一个方法:
static int convertToInt(string a)
{
int x = 0;
Char[] charArray = a.ToCharArray();
int j = charArray.Length;
for (int i = 0; i < charArray.Length; i++)
{
j--;
int s = (int)Math.Pow(10, j);
x += ((int)Char.GetNumericValue(charArray[i]) * s);
}
return x;
}
int myInt = int.Parse(TextBoxD1.Text)
另一种方式是:
bool isConvertible = false;
int myInt = 0;
isConvertible = int.TryParse(TextBoxD1.Text, out myInt);
两者之间的区别在于,如果无法转换文本框中的值,第一个将抛出异常,而第二个将返回false。