将“int”转换为“字符串”时出现问题,数学运算符也是如此
本文关键字:字符串 运算符 转换 int 问题 | 更新日期: 2023-09-27 18:25:16
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#,我想先学习基本的东西。
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
将引发异常。
不能
将 int 分配给文本框的 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));
正如错误明确指出的那样,您无法将int
分配给应该采用string
的属性。
您可以调用 ToString()
方法将数字转换为string
。