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
相关产品推荐
相关产品推荐

