我有一个TextBoxD1.Text,我想将其转换为int,并将其存储在数据库中。
我该怎么做?
我有一个TextBoxD1.Text,我想将其转换为int,并将其存储在数据库中。
我该怎么做?
当前回答
如TryParse文档中所述,TryPars()返回一个布尔值,表示找到了一个有效的数字:
bool success = Int32.TryParse(TextBoxD1.Text, out val);
if (success)
{
// Put val in database
}
else
{
// Handle the case that the string doesn't contain a valid number
}
其他回答
如果您知道字符串是整数,请执行以下操作:
int value = int.Parse(TextBoxD1.Text);
如果您不知道字符串是整数,请使用TryParse安全地执行。
在C#7.0中,可以使用内联变量声明。
如果解析成功-value=其解析值。如果解析失败-值=0。
代码:
if (int.TryParse(TextBoxD1.Text, out int value))
{
// Parse succeed
}
缺点:
无法区分0值和未分析的值。
int myInt = int.Parse(TextBoxD1.Text)
另一种方式是:
bool isConvertible = false;
int myInt = 0;
isConvertible = int.TryParse(TextBoxD1.Text, out myInt);
两者之间的区别在于,如果无法转换文本框中的值,第一个将抛出异常,而第二个将返回false。
您可以使用以下命令在C#中将字符串转换为int:
转换类的函数,即convert.ToInt16()、convert.ToInt32()、转换.ToInt64()或使用Parse和TryParse函数。这里给出了示例。
您可以使用,
int i = Convert.ToInt32(TextBoxD1.Text);
or
int i = int.Parse(TextBoxD1.Text);
//May be quite some time ago but I just want throw in some line for any one who may still need it
int intValue;
string strValue = "2021";
try
{
intValue = Convert.ToInt32(strValue);
}
catch
{
//Default Value if conversion fails OR return specified error
// Example
intValue = 2000;
}