文本框的计算不起作用

时间:2018-08-24 17:02:12

标签: c#

我正在使用Windows窗体应用程序创建一个出租服务应用程序,我有一些代码应该用于计算文本框值并将其分发给客户 The form for renting vehicles

当用户填写所需的详细信息,并且当用户选择特定车辆时,“每日价值”文本框中也会自动填写“每日租金”值,我想做的是我要计算特定租金的值值。每辆车都有固定的租金

 private void button3_Click_1(object sender, EventArgs e)
    {

        if (txtvehicle.Text == "Toyata KDH Van")
        {
            txtseater.Text = "16 Seater";
            txtval.Text = "Rs.15000";

        }
        else if (txtvehicle.Text == "Audi Q7")
        {
            txtseater.Text = "05 Seater";
            txtval.Text = "Rs.25000";
        }
        else if (txtvehicle.Text == "Suzuki WagonR 2017")
        {
            txtseater.Text = "04 Seater";
            txtval.Text = "Rs.5500";
        }
        else if (txtvehicle.Text== "Nissan NV200 Van")
        {
            txtseater.Text = "07 Seater";
            txtval.Text = "Rs.15000";
        }
        else if(txtvehicle.Text== "Toyata Corolla GLX Sedan")
        {
            txtseater.Text = "05 Seater";
            txtval.Text = "Rs.12500";
        }
        else if (txtvehicle.Text== "Jeep Wrangler")
        {
            txtseater.Text = "05 Seater";
            txtval.Text = "Rs.20000";
        }

        else
        {
            txtseater.Text = "Vehicle Not Found";
        }

从上面的代码中可以看到,每辆车都有固定的数量,而我想做的就是计算

 private void button4_Click(object sender, EventArgs e)
    {

        if (txtvehicle.Text == "Toyata KDH Van" && textBox6.Text=="With Driver")
        {
            txttotal.Text = txtval.Text + 1500 * int.Parse(textBox5.Text);
        }
        else if (txtvehicle.Text == "Jeep Wrangler" && textBox6.Text == "With Driver")
        {

            txttotal.Text = txtval.Text + 1500 * int.Parse(textBox5.Text);
        }
    }

但是启动时文本框中什么也没有显示,并且在最后一行代码中显示了错误

1 个答案:

答案 0 :(得分:0)

txtval.Text不包含数字,因为要添加Rs。在它前面。

您需要删除该代码以进行计算,然后将其添加回:

txttotal.Text = "Rs." + (Convert.ToInt32(txtval.Text.Replace("Rs.", "")) + 1500 * int.Parse(textBox5.Text)).ToString();

请注意,如果要在乘法之前进行加法,则需要括号。

txttotal.Text = "Rs." + ((Convert.ToInt32(txtval.Text.Replace("Rs.", "")) + 1500) * int.Parse(textBox5.Text)).ToString();