C#存款计算代码问题求助:输入对应未得到预期结果202.85
问题排查与修复
你的代码存在两个关键问题,导致无法得到预期结果:
百分比利率未转换为小数形式
输入的5.7是百分比利率(5.7%),但公式需要的是小数形式的利率(0.057)。直接用5.7参与计算会让利息被放大100倍,结果自然错误。输出未做小数位格式化
即使计算正确,直接输出double类型可能会显示多余的小数位(比如202.85可能显示为202.85000000000002),不符合预期的格式要求。
修复后的代码
using System; namespace Deposit_calculator { internal class Program { static void Main(string[] args) { double depositedsum = double.Parse(Console.ReadLine()); double depositterm = double.Parse(Console.ReadLine()); // 将百分比利率转换为小数形式 double annualinterestpercentage = double.Parse(Console.ReadLine()) / 100; double sum = depositedsum + depositterm * ((depositedsum * annualinterestpercentage) / 12); // 格式化输出为两位小数 Console.WriteLine($"{sum:F2}"); } } }
验证计算过程
输入200、3、5.7时:
- 转换后的小数利率:5.7 / 100 = 0.057
- 月利息:(200 * 0.057) / 12 = 0.95
- 总金额:200 + 3 * 0.95 = 202.85
格式化输出后正好匹配预期结果。
内容的提问来源于stack exchange,提问作者Ivaylo
相关产品推荐
相关产品推荐

