将'int'转换为'string'的问题,也包括数学运算符

时间:2013-07-28 03:30:07

标签: c# string math int operators

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Not.Text =
              (Convert.ToInt32(quiz1per.Text)) * (Convert.ToInt32(quiz1poi.Text)) + 
              (Convert.ToInt32(quiz2per.Text)) * (Convert.ToInt32(quiz2poi.Text)) + 
              (Convert.ToInt32(odev1per.Text)) * (Convert.ToInt32(odev1poi.Text)) +  
              (Convert.ToInt32(odev2per.Text)) * (Convert.ToInt32(odev2poi.Text)) +  
              (Convert.ToInt32(vizeper.Text)) * (Convert.ToInt32(vizepoi.Text)) +  
              (Convert.ToInt32(finalper.Text)) * (Convert.ToInt32(finalpoi.Text));
        }
    }
}

当我到达最后一个分号时,我遇到了将int转换为字符串的问题。 我刚开始学习C#,我想先学习基础知识。

3 个答案:

答案 0 :(得分:0)

您不能将int分配给textBox的text属性。将int格式化为字符串,

   Not.Text =
      (Convert.ToInt32(quiz1per.Text)) * (Convert.ToInt32(quiz1poi.Text)) + 
      (Convert.ToInt32(quiz2per.Text)) * (Convert.ToInt32(quiz2poi.Text)) + 
      (Convert.ToInt32(odev1per.Text)) * (Convert.ToInt32(odev1poi.Text)) +  
      (Convert.ToInt32(odev2per.Text)) * (Convert.ToInt32(odev2poi.Text)) +  
      (Convert.ToInt32(vizeper.Text)) * (Convert.ToInt32(vizepoi.Text)) +  
      (Convert.ToInt32(finalper.Text)) * (Convert.ToInt32(finalpoi.Text)).ToString();

或将其投射到字符串

   Not.Text =
      (string)(Convert.ToInt32(quiz1per.Text)) * (Convert.ToInt32(quiz1poi.Text)) + 
      (Convert.ToInt32(quiz2per.Text)) * (Convert.ToInt32(quiz2poi.Text)) + 
      (Convert.ToInt32(odev1per.Text)) * (Convert.ToInt32(odev1poi.Text)) +  
      (Convert.ToInt32(odev2per.Text)) * (Convert.ToInt32(odev2poi.Text)) +  
      (Convert.ToInt32(vizeper.Text)) * (Convert.ToInt32(vizepoi.Text)) +  
      (Convert.ToInt32(finalper.Text)) * (Convert.ToInt32(finalpoi.Text));

答案 1 :(得分:0)

C#中的每个对象都有一个ToString()。您只需在结果上调用ToString()即可。

private void button1_Click(object sender, EventArgs e)
{
    int result = 
      (Convert.ToInt32(quiz1per.Text)) * (Convert.ToInt32(quiz1poi.Text)) + 
      (Convert.ToInt32(quiz2per.Text)) * (Convert.ToInt32(quiz2poi.Text)) + 
      (Convert.ToInt32(odev1per.Text)) * (Convert.ToInt32(odev1poi.Text)) +  
      (Convert.ToInt32(odev2per.Text)) * (Convert.ToInt32(odev2poi.Text)) +  
      (Convert.ToInt32(vizeper.Text)) * (Convert.ToInt32(vizepoi.Text)) +  
      (Convert.ToInt32(finalper.Text)) * (Convert.ToInt32(finalpoi.Text));
     Not.Text = result.ToString();
}

您还需要使用int.TryParse。如果在文本框中键入非数字值Convert.ToInt32将抛出异常。

答案 2 :(得分:0)

由于错误明确指出,您无法将int分配给应该使用string的属性。

您可以调用ToString()方法将数字转换为string