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

C#:如何动态计算Y的X百分比值

问题分析与解决

你要计算的是Y的X百分比(比如200的10%),但现有代码的公式逻辑完全搞反了,导致结果不符合预期:

  • 第一种写法(percent / i) * 100:因为是整数除法,10/200直接得到0,再乘100还是0,所以返回0。
  • 第二种写法percent * 100 / i:这算的是X占Y的百分比(10是200的5%),和你要的逻辑正好相反。

正确的计算逻辑

Y的X百分比的数学公式是:Y * X / 100,对应到你的扩展方法里,就是i * percent / 100。

修正后的扩展方法代码:

public static int GetPercent(this int i, int percent)
{
    return i * percent / 100;
}

调用200.GetPercent(10)时,计算过程是200*10=2000,2000/100=20,刚好得到你想要的结果。

额外说明

如果需要处理非整数的百分比结果(比如200的15.5%),可以改用浮点类型计算,避免整数除法的精度丢失:

public static double GetPercent(this int i, double percent)
{
    return i * percent / 100.0;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:01:13