You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2019 Windows Forms租车价格超里程加价功能如何实现

WinForm租车价格超里程加价逻辑实现方案

你只需要在原有基础价格计算逻辑后,新增超里程费用的判断和计算逻辑即可,具体调整如下:

修改后完整代码

private void button1_Click(object sender, EventArgs e)
{
    string typeCar = comboBox1.Text;
    int carDailyPrice = 0;
    int days = int.Parse(textBox1.Text);
    int totalKM = int.Parse(textBox2.Text);

    // 车型日单价赋值逻辑保持不变
    if (typeCar == "A")
    {
        carDailyPrice = 50;
    } 
    else if (typeCar == "B")
    {
        carDailyPrice = 75;
    }
    else
    {
        carDailyPrice = 100;
    }

    // 新增超里程费用计算逻辑
    decimal baseCost = carDailyPrice * days;
    decimal extraMileCost = 0;
    // 总里程超过100公里时计算加价
    if (totalKM > 100)
    {
        extraMileCost = (totalKM - 100) * 0.2m;
    }
    decimal totalCost = baseCost + extraMileCost;
            
    // 格式化输出保留两位小数,符合货币显示规范
    MessageBox.Show("De totale prijs wordt " + totalCost.ToString("0.00") + " euro");            
}

调整说明

  • 将原car变量重命名为carDailyPrice,语义更清晰,避免后续维护混淆
  • 新增超里程判断逻辑,仅当总行驶里程超过100公里时才计算超额部分的加价
  • 使用decimal类型存储所有费用数值,适配欧元货币计算的精度要求,避免小数计算误差
  • 输出时做了两位小数的格式化处理,符合金额类内容的常规展示规则
  • 额外优化建议:可以将int.Parse替换为int.TryParse做输入合法性校验,避免用户输入非数字内容时程序直接报错

内容的提问来源于stack exchange,提问作者user16625649

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:15:04