将String转换为int,将int转换为String c#
本文关键字:int 转换 String | 更新日期: 2023-09-27 18:22:37
我正在试着计算汽车价格。我试图得到汽车价格,并将其转换为int,然后将int值乘以一个百分比,然后在另一个文本框中显示结果。
这就是我所做的,它抛出了一个异常:
private void button1_Click(object sender, EventArgs e)
{
int carPrice = Convert.ToInt32(txtCarPrice.Text);
carPrice = int.Parse(txtCarPrice.Text);
int downPayment = Convert.ToInt32(txtDownPayment.Text);
downPayment = int.Parse(txtDownPayment.Text);
downPayment = Convert.ToInt32(carPrice * .2);
txtDownPayment.Text = downPayment.ToString("0.#####");
}
它抛出了一个格式异常!
您的代码中有几个问题:
-
当字符串为空时,
Convert.ToInt32
和int.Parse
会抛出Format Exception,因此在解析之前需要检查字符串。 -
int
乘以doulbe
的结果将是double
,所以您需要将其存储在double
变量中。将结果转换为"int"将导致小数部分出现异常或丢失。 -
您不需要使用
Convert.ToInt32(txtCarPrice.Text)
和int.Parse(txtCarPrice.Text)
对值进行两次解析。 -
未使用
txtDownPayment
的值,因此您不需要读取和解析它。
我想你需要这样的东西:
private void button1_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtCarPrice.Text))
return;
int carPrice = Convert.ToInt32(txtCarPrice.Text);
double downPayment = carPrice * .2;
txtDownPayment.Text = downPayment.ToString("0.#####");
}