如何将TextBox1.Text的值转换为数值?

时间:2021-01-09 00:58:11
我想在一个数据表中插入成绩啊,但是最后一个字段是平均分,想在SQL的insert语句中把前面的TextBox.Text当中的值取平均分,但是使用以下语句提示出错:
        //int t3 = (int)TextBox3.Text;
        //int t4 = (int)TextBox4.Text;
        //int t5 = (int)TextBox5.Text;
        //int t6 = (int)TextBox6.Text;
        //int ave = (t3 + t4 + t5 + t6) / 4;
希望大家帮忙看一下,怎么才能进行类型转换啊,看了MSDN,里面只有一个VB的转换啊!

14 个解决方案

#1


先判断textbox里面的值是不是数字 用正则表达式
^\d+$
然后再int.parse(TextBox.Text)

#2


int a = int.Parse(TextBox1.Text);
or
int a = Convert.ToInt32(TextBox1.Text);

#3


同意楼上

#4


int a = Convert.ToInt32(TextBox1.Text);

#5


#region //判断字符是否为数字
        /// <summary>
        /// 判断字符是否为数字
        /// </summary>
        /// <param name="_strNum">传入的字符串</param>
        /// <returns>boolean</returns>
        public static bool isNumeric(string _strNum)
        {
            if (_strNum == null || _strNum == string.Empty)
                return false;
            for (int i = 0; i < _strNum.Length; i++)
            {
                if (!Char.IsNumber(_strNum, i))
                    return false;
            }
            return true;
        }
        #endregion

#6


leo_boy(www.morock.net) 
   
int a = Convert.ToInt32(TextBox1.Text);

同意!!!!!

  
 

#7


int a=Int32.Parse(TextBox1.Text);

#8


浏览器防假死测试AJAX页面

#9


用Convert.ToInt32();
要确认TextBox.Text存在值且为数字,要不然就出错了.

#10


没有考虑到要先判断是否为数字
学习了

#11


int t3 =Convert.ToInt32(TextBox3.Text);
        int t4 = Convert.ToInt32(TextBox4.Text);
        int t5 = Convert.ToInt32(TextBox5.Text);
        int t6 = Convert.ToInt32(TextBox6.Text);
        int ave =(t3 + t4 + t5 + t6) / 4;        
        string strCommand = "insert grade values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','ave')";
        SqlCommand addScore = new SqlCommand(strCommand, myConnection);
        myConnection.Open();
        addScore.ExecuteNonQuery();
        myConnection.Close();
这样调试老是提示出错啊:
将 varchar 值 'ave' 转换为数据类型为 int 的列时发生语法错误。
大家再帮忙看一下怎么改啊,谢谢了啊!

#12


ding

#13


是不是‘avg’也要加‘“+avg+”’呀,我插入的时候就加了

#14


你上面的text4,5,6是转成数字了。但是下面插入数据库语句还是仍然用字符类,当然出错啦。

#1


先判断textbox里面的值是不是数字 用正则表达式
^\d+$
然后再int.parse(TextBox.Text)

#2


int a = int.Parse(TextBox1.Text);
or
int a = Convert.ToInt32(TextBox1.Text);

#3


同意楼上

#4


int a = Convert.ToInt32(TextBox1.Text);

#5


#region //判断字符是否为数字
        /// <summary>
        /// 判断字符是否为数字
        /// </summary>
        /// <param name="_strNum">传入的字符串</param>
        /// <returns>boolean</returns>
        public static bool isNumeric(string _strNum)
        {
            if (_strNum == null || _strNum == string.Empty)
                return false;
            for (int i = 0; i < _strNum.Length; i++)
            {
                if (!Char.IsNumber(_strNum, i))
                    return false;
            }
            return true;
        }
        #endregion

#6


leo_boy(www.morock.net) 
   
int a = Convert.ToInt32(TextBox1.Text);

同意!!!!!

  
 

#7


int a=Int32.Parse(TextBox1.Text);

#8


浏览器防假死测试AJAX页面

#9


用Convert.ToInt32();
要确认TextBox.Text存在值且为数字,要不然就出错了.

#10


没有考虑到要先判断是否为数字
学习了

#11


int t3 =Convert.ToInt32(TextBox3.Text);
        int t4 = Convert.ToInt32(TextBox4.Text);
        int t5 = Convert.ToInt32(TextBox5.Text);
        int t6 = Convert.ToInt32(TextBox6.Text);
        int ave =(t3 + t4 + t5 + t6) / 4;        
        string strCommand = "insert grade values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "','ave')";
        SqlCommand addScore = new SqlCommand(strCommand, myConnection);
        myConnection.Open();
        addScore.ExecuteNonQuery();
        myConnection.Close();
这样调试老是提示出错啊:
将 varchar 值 'ave' 转换为数据类型为 int 的列时发生语法错误。
大家再帮忙看一下怎么改啊,谢谢了啊!

#12


ding

#13


是不是‘avg’也要加‘“+avg+”’呀,我插入的时候就加了

#14


你上面的text4,5,6是转成数字了。但是下面插入数据库语句还是仍然用字符类,当然出错啦。