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

C#算术运算符:整数相除如何显示小数部分?

C#整数除法保留15位小数的实现方式

问题根源在于:C#中两个int类型执行除法时,会触发整数除法逻辑——直接舍弃小数部分,只返回整数商。所以你的代码里a / b先得到整数8,再赋值给decimal类型变量,自然无法保留小数。

要得到带小数的结果并保留15位小数,需要分两步处理:

1. 触发浮点/高精度除法

先将至少一个操作数转换为非整数类型(比如double或decimal),让除法运算变为浮点除法:

  • 如果需要和目标结果8.333333333333334一致(这是double类型的近似值),可以转double:
    int a = 25;
    int b = 3;
    double div = (double)a / b;
    
  • 如果需要更高精度的十进制表示(结果会是8.3333333333333333333),可以转decimal:
    int a = 25;
    int b = 3;
    decimal div = (decimal)a / b;
    

2. 格式化输出为15位小数

使用字符串格式化语法,强制保留15位小数:

  • 对于double类型的变量,格式化后会得到你需要的8.333333333333334:
    Console.WriteLine("Quotient: {0:F15}", div);
    // 或者用字符串插值:
    Console.WriteLine($"Quotient: {div:F15}");
    
  • 对于decimal类型,格式化后会输出8.333333333333333(因为decimal精度更高,不会出现double的末尾近似值)。

完整示例代码(对应目标结果)

int a = 25;
int b = 3;
double div = (double)a / b;
Console.WriteLine("Quotient: {0:F15}", div); // 输出 Quotient: 8.333333333333334

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:24:47