在C#中,Math.Round()方法用于将一个浮点数舍入到最接近的整数或指定的小数位数。
Math.Round()方法有多个重载形式:
- Round(double):将浮点数舍入到最接近的整数。
- Round(double, MidpointRounding):将浮点数舍入到最接近的整数,可以指定舍入规则(MidpointRounding枚举类型)。
- Round(double, int):将浮点数舍入到指定的小数位数。
- Round(decimal):将十进制数舍入到最接近的整数。
- Round(decimal, MidpointRounding):将十进制数舍入到最接近的整数,可以指定舍入规则。
- Round(decimal, int):将十进制数舍入到指定的小数位数。
以下是一些示例用法:
double number = 3.14; int roundedNumber = (int)Math.Round(number); // 结果为3 double number2 = 3.56; int roundedNumber2 = (int)Math.Round(number2, MidpointRounding.AwayFromZero); // 结果为4 double number3 = 3.14159; double roundedNumber3 = Math.Round(number3, 2); // 结果为3.14 decimal number4 = 3.14m; int roundedNumber4 = (int)Math.Round(number4); // 结果为3 decimal number5 = 3.56m; int roundedNumber5 = (int)Math.Round(number5, MidpointRounding.AwayFromZero); // 结果为4 decimal number6 = 3.14159m; decimal roundedNumber6 = Math.Round(number6, 2); // 结果为3.14
需要注意的是,Math.Round()方法返回的结果是一个浮点数或十进制数,如果需要将其转换为整数,可以使用(int)或Convert.ToInt32()。此外,在使用舍入规则时,MidpointRounding.AwayFromZero表示四舍五入到最接近的整数,MidpointRounding.ToEven表示四舍五入到最接近的偶数。