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

C#中数学公式计算结果异常为0,预期值约为0.4879602393的问题排查求助

解决C#数学公式计算结果为0的问题

嘿,我看到你的问题啦!作为C#新手遇到这种整数除法的坑太正常了,咱们一步步揪出问题根源~

核心问题:整数除法的陷阱

在C#中,当你用两个整数进行除法运算时(比如1/4、5/2),编译器会执行整数除法——结果只会保留整数部分,小数部分直接丢弃。这就是你的公式计算结果一直为0的关键原因:

  • 1/4的结果是0(而不是你预期的0.25)
  • 5/2的结果是2(而不是你预期的2.5)

这些错误的数值代入公式后,自然得不到正确的结果。

修正后的代码

只需要把除法中的整数改成浮点数(比如在数字后面加.0,或者显式转换为double类型),就能触发浮点数除法,得到正确的小数结果:

double c = 10 * (Math.PI / 180);
double Z2 = (1.0 / 4) - ((1.0 / 4) * Math.Sin(((5.0 / 2) * Math.PI) - (8 * c)));

验证结果

运行修正后的代码,计算出来的Z2值大约是0.4879602393,完全符合你的预期结果~

小贴士

以后在C#中写除法运算时,只要你需要得到小数结果,务必保证至少有一个操作数是浮点数类型(double/float)。比如:

  • 用1.0/4代替1/4
  • 或者用(double)1/4显式转换其中一个整数为浮点数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 20:18:10