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

C#电话账单计算错误:期望103.13却得75.35,求修正方法

修正C#电话账单计算错误

你当前的代码把费率(rate)和surge费用当成固定金额直接加到账单上了,但实际上这两个应该是百分比加成——rate是10%的费率,surge是25%的额外涨幅,所以需要用乘法计算,而不是加法。

修正后的代码如下:

double rate = 0.10; // 10% 的费率
double surge = 0.25; // 25% 的 surge 涨幅
int phoneBill = 75;
// 先计算加费率后的金额,再叠加surge涨幅,最后四舍五入到两位小数
double totalAmount = Math.Round(phoneBill * (1 + rate) * (1 + surge), 2);

WriteLine("New Phone Bill");
WriteLine("Your new Phone Bill is $" + totalAmount);
ReadKey();

计算逻辑说明:

  • phoneBill * (1 + rate):75 × 1.10 = 82.5,得到加上10%费率后的金额
  • 再乘以(1 + surge):82.5 × 1.25 = 103.125,通过Math.Round(..., 2)四舍五入到两位小数,正好得到预期的103.13

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 14:40:28