C#:
数字取整

如何做:

这里是用C#四舍五入数字的完整指南:

using System;

public class RoundingExamples
{
    public static void Main()
    {
        double originalNumber = 123.4567;

        // 四舍五入到最近的整数
        double rounded = Math.Round(originalNumber);
        Console.WriteLine(rounded); // 输出: 123

        // 指定小数位数
        double roundedTwoDecimalPlaces = Math.Round(originalNumber, 2);
        Console.WriteLine(roundedTwoDecimalPlaces); // 输出: 123.46

        // 无论下一位数字为何,始终向上舍入
        double roundedUp = Math.Ceiling(originalNumber);
        Console.WriteLine(roundedUp); // 输出: 124

        // 无论下一位数字为何,始终向下舍入
        double roundedDown = Math.Floor(originalNumber);
        Console.WriteLine(roundedDown); // 输出: 123
    }
}

深入探究

回到过去,四舍五入是为了减少计算成本的简单事情。每个周期都很重要,减少数字可以节省宝贵时间。快进到现代C#,它是关于管理双精度和十进制的臭名昭著的倾向于精度错误和显示怪癖。

除了Math.RoundMath.FloorMath.Ceiling外,MidpointRounding枚举让我们决定处于中位的可怜数字的命运——它是银行规则和“四舍五入”公平性操场之间的交叉点。

对于像是严肃的数学或金融应用这样的困难听众,我们有decimal而不是double,通过提供更高的精度来减少四舍五入的戏剧性——更少的四舍五入,更少的问题。

另请参阅