将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.#####");
}

它抛出了一个格式异常!

将String转换为int,将int转换为String c#

您的代码中有几个问题:

  1. 当字符串为空时,Convert.ToInt32int.Parse会抛出Format Exception,因此在解析之前需要检查字符串。

  2. int乘以doulbe的结果将是double,所以您需要将其存储在double变量中。将结果转换为"int"将导致小数部分出现异常或丢失。

  3. 您不需要使用Convert.ToInt32(txtCarPrice.Text)int.Parse(txtCarPrice.Text)对值进行两次解析。

  4. 未使用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.#####");
}