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

编程学习第1天:decimal类型乘法运算报错求助

Decimal类型乘法运算错误排查与修正

错误原因解析

  • 数值类型不兼容:代码里的0.5、0.7是默认的double类型,而CostAdult是decimal类型,C#不支持不同数值类型直接做乘法运算,必须保证操作数类型一致。
  • 未声明变量:Adult、Child、Senior这三个变量没有定义和赋值,编译器无法识别它们的取值。
  • 输出变量错误:计算儿童票、老年票收入时,输出的都是revenue1(成人票收入),导致结果显示错误。

修正后的代码

Console.Write("Enter the cost of one Adult ticket: $");
decimal CostAdult = Convert.ToDecimal(Console.ReadLine());

// 声明并赋值成人、儿童、老年票的售出数量(示例值可按需修改)
int Adult = 10;
int Child = 5;
int Senior = 3;

decimal revenue1 = CostAdult * Adult;
Console.WriteLine("You have made " + revenue1.ToString("C") + " for Adult ticket sales!");
Console.ReadLine();

// 用m后缀标记decimal字面量,确保类型匹配
decimal revenue2 = CostAdult * Child * 0.5m;
Console.WriteLine("You have made " + revenue2.ToString("C") + " for Child ticket sales!");
Console.ReadLine();

decimal revenue3 = CostAdult * Senior * 0.7m;
Console.WriteLine("You have made " + revenue3.ToString("C") + " for Senior ticket sales!");
Console.ReadLine();

关键修改说明

  • 补充了Adult、Child、Senior的变量声明与示例赋值,可替换为实际售票数量。
  • 给0.5、0.7添加m后缀,将其转为decimal类型,解决了不同数值类型无法相乘的问题。
  • 修正了输出语句中的变量,确保儿童票、老年票收入对应正确的计算结果。

内容的提问来源于stack exchange,提问作者Brooke Learns To Code

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 18:30:05