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

C#控制台应用中数学计算结果不准确该如何解决?

问题原因

出现该偏差的核心原因是C#的整数运算隐式规则:

  • 公式中-2、3、14默认都是int整数类型,C#会优先按照整数运算规则计算-2 * 3 / 14部分
  • 整数除法会直接舍弃小数部分:-2*3=-6,-6/14的整数运算结果为0,加上25后自然输出25

解决方法

只需要让参与运算的至少一个操作数为double类型,C#会自动将整个运算逻辑提升为浮点运算,保留小数部分:

// 方法1:给其中一个整数加d后缀,声明为double类型
double equation = 25 + -2d * 3 / 14; 
Console.WriteLine(equation);

// 方法2:显式强制转换某个操作数为double
double equation = 25 + (double)-2 * 3 / 14; 
Console.WriteLine(equation);

调整后输出结果为24.571428571428573,和公式的准确计算结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:57:01