我有一个TextBoxD1.Text,我想将其转换为int,并将其存储在数据库中。

我该怎么做?


当前回答

您可以在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、Int32、Int64和其他反映.NET中整数数据类型的数据类型将字符串转换为int

以下示例显示了此转换:

这显示了初始化为int值的(for info)数据适配器元素。同样可以直接进行,

int xxiiqVal = Int32.Parse(strNabcd);

Ex.

string strNii = "";
UsrDataAdapter.SelectCommand.Parameters["@Nii"].Value = Int32.Parse(strNii );

链接以查看此演示。

虽然我同意使用TryParse方法,但很多人不喜欢使用out参数(包括我自己)。在C#中添加了元组支持后,另一种方法是创建一个扩展方法,该方法将限制您使用单个实例的次数:

public static class StringExtensions
{
    public static (int result, bool canParse) TryParse(this string s)
    {
        int res;
        var valid = int.TryParse(s, out res);
        return (result: res, canParse: valid);
    }
}

(来源:C#如何将字符串转换为int)

如果您知道字符串是整数,请执行以下操作:

int value = int.Parse(TextBoxD1.Text);

如果您不知道字符串是整数,请使用TryParse安全地执行。

在C#7.0中,可以使用内联变量声明。

如果解析成功-value=其解析值。如果解析失败-值=0。

代码:

if (int.TryParse(TextBoxD1.Text, out int value))
{
    // Parse succeed
}

缺点:

无法区分0值和未分析的值。

Convert.ToInt32( TextBoxD1.Text );

如果您确信文本框的内容是有效的int,请使用此选项

int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );

这将为您提供一些可以使用的默认值。Int32.TryParse还返回一个布尔值,指示它是否能够解析,因此您甚至可以将其用作if语句的条件。

if( Int32.TryParse( TextBoxD1.Text, out val ){
  DoSomething(..);
} else {
  HandleBadInput(..);
}
int i = Convert.ToInt32(TextBoxD1.Text);