在 C# 中,Math.Round 是一个数学函数,用于对一个浮点数进行四舍五入操作。它接受一个浮点数作为输入,并返回一个最接近输入值的整数或指定小数位数的浮点数。
Math.Round 方法有多个重载,其中最常用的重载有以下两种形式:
-
Math.Round(double value): 这个重载将输入的浮点数value四舍五入为最接近的整数,并返回一个整数值。 -
Math.Round(double value, int digits): 这个重载将输入的浮点数value四舍五入到指定的小数位数digits,并返回一个浮点数值。
下面是一些具体的例子来说明 Math.Round 的使用:
double number1 = 3.49;
double number2 = 3.51;
double number3 = 3.14159;int rounded1 = (int)Math.Round(number1); // rounded1 = 3
int rounded2 = (int)Math.Round(number2); // rounded2 = 4double rounded3 = Math.Round(number3, 2); // rounded3 = 3.14
在上面的例子中,number1 被四舍五入为最接近的整数,即 3。number2 被四舍五入为最接近的整数,即 4。number3 被四舍五入到小数点后两位,即 3.14。

需要注意的是,Math.Round 方法返回的结果类型取决于重载的使用方式。如果使用的是不带小数位数参数的重载,结果将是一个整数类型;如果使用的是带小数位数参数的重载,结果将是一个浮点数类型。
此外,Math.Round 方法还有其他重载形式,如 Math.Round(decimal value) 和 Math.Round(double value, MidpointRounding mode),它们提供了更多的灵活性来满足不同的舍入需求。
Math.Round(decimal value):
decimal number = 4.5678m;
decimal rounded = Math.Round(number); // rounded = 5
在这个例子中,number 是一个 decimal 类型的值,通过 Math.Round 方法进行四舍五入后,得到最接近的整数值 5。
Math.Round(double value, MidpointRounding mode):
double number = 3.5;
double rounded1 = Math.Round(number, MidpointRounding.ToEven); // rounded1 = 4
double rounded2 = Math.Round(number, MidpointRounding.AwayFromZero); // rounded2 = 4 (向远离零的方向舍入)
在这个例子中,number 是一个 double 类型的值。MidpointRounding 是一个枚举类型,用于指定舍入的方式。ToEven 表示使用标准的四舍五入规则,当小数部分恰好为 0.5 时,舍入到最接近的偶数。AwayFromZero 表示向远离零的方向舍入,即始终远离零舍入到最接近的整数。在上面的例子中,rounded1 和 rounded2 分别演示了这两种舍入方式。
