聊一聊c#中的MATH.ROUND方法
MATH.ROUND方法微软的官方解释是:将值舍入到最接近的整数或指定的小数位数。
该方法有如下8个重载:
/// <summary> /// 将小数值舍入到最接近的整数值。 /// </summary> /// <param name="d">要舍入的小数。</param> /// <returns>最接近参数 d 的整数。如果 d 的小数部分正好处于两个整数中间,其中一个整数为偶数,另一个整数为奇数,则返回偶数。请注意,此方法返回 System.Decimal,而不是整数类型。</returns> decimal Round(decimal d); /// <summary> /// 将双精度浮点值舍入为最接近的整数值。 /// </summary> /// <param name="a">要舍入的双精度浮点数。</param> /// <returns>最接近 a 的整数。如果 a 的小数部分正好处于两个整数中间,其中一个整数为偶数,另一个整数为奇数,则返回偶数。请注意,此方法返回 System.Double,而不是整数类型。</returns> double Round(double a); /// <summary> /// 将小数值舍入到最接近的整数。一个参数,指定当一个值正好处于两个数中间时如何舍入这个值。 /// </summary> /// <param name="d">要舍入的小数。</param> /// <param name="mode">在两个数字之间时如何舍入 d 的规范。</param> /// <returns>最接近 d 的整数。如果 d 是两个数字的中值,这两个数字一个为偶数,另一个为奇数,则 mode 确定返回两个数字中的哪一个。</returns> decimal Round(decimal d, MidpointRounding mode); /// <summary> /// 将小数值按指定的小数位数舍入。 /// </summary> /// <param name="d">要舍入的小数。</param> /// <param name="decimals">返回值中的小数位数。</param> /// <returns>最接近 d 的 decimals 位小数的数字。</returns> decimal Round(decimal d, int decimals); /// <summary> /// 将双精度浮点值舍入为最接近的整数。一个参数,指定当一个值正好处于两个数中间时如何舍入这个值。 /// </summary> /// <param name="value">要舍入的双精度浮点数。</param> /// <param name="mode">在两个数字之间时如何舍入 value 的规范。</param> /// <returns>最接近 value 的整数。如果 value 是两个整数的中值,这两个整数一个为偶数,另一个为奇数,则 mode 确定返回两个整数中的哪一个。</returns> double Round(double value, MidpointRounding mode); /// <summary> /// 将双精度浮点值按指定的小数位数舍入。 /// </summary> /// <param name="value">要舍入的双精度浮点数。</param> /// <param name="digits">返回值中的小数数字。</param> /// <returns></returns> double Round(double value, int digits); /// <summary> /// 将双精度浮点值按指定的小数位数舍入。一个参数,指定当一个值正好处于两个数中间时如何舍入这个值。 /// </summary> /// <param name="value">要舍入的双精度浮点数。</param> /// <param name="digits">返回值中的小数数字。</param> /// <param name="mode">在两个数字之间时如何舍入 value 的规范。</param> /// <returns>最接近 value 的 digits 位小数的数字。如果 value 比 digits 少部分数字,value 原样返回。</returns> double Round(double value, int digits, MidpointRounding mode); /// <summary> /// 将小数值按指定的小数位数舍入。一个参数,指定当一个值正好处于两个数中间时如何舍入这个值。 /// </summary> /// <param name="d">要舍入的小数。</param> /// <param name="decimals">返回值中的小数位数。</param> /// <param name="mode">在两个数字之间时如何舍入 d 的规范。</param> /// <returns>最接近 d 的 decimals 位小数的数字。如果 d 比 decimals 少部分数字,d 原样返回。</returns> decimal Round(decimal d, int decimals, MidpointRounding mode);
其中参数MidpointRounding是个枚举,对应的值为:
现将各个重载方法一一实现如下:
1、得到整数
1.1、double Round(double a)输出结果为:
1.2、decimal Round(decimal d)输出结果为:
1.3、decimal Round(decimal d, int decimals)输出结果为:
1.4、double Round(double value, int digits)输出结果为:
1.5、decimal Round(decimal d, MidpointRounding mode)输出结果为:
1.6、double Round(double value, MidpointRounding mode)输出结果:
1.7、double Round(double value, int digits, MidpointRounding mode)输出结果:
1.8、decimal Round(decimal d, int decimals, MidpointRounding mode)输出结果:
2、得到两位小数
2.1、decimal Round(decimal d, int decimals)输出结果:
2.2、double Round(double value, int digits)输出结果:
2.3、double Round(double value, int digits, MidpointRounding mode)输出结果:
2.4、decimal Round(decimal d, int decimals, MidpointRounding mode)输出结果:
根据以上运行结果,我们在使用Round处理数据时,不能随便使用,要根据自己的具体需求来选择对应的方法,特别是我们对数据进行四舍五入时,要选对适合自己项目需要的方法是很重要的。如果随意使用,可能得到意想不到的结果。
可运行控制台代码:
#region 整数 Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*********************************整数输出*********************************"); Console.ForegroundColor = ConsoleColor.Red; //double Round(double a); Console.WriteLine($"Math.Round(0.4)输出结果:{Math.Round(0.4)}"); Console.WriteLine($"Math.Round(0.5)输出结果:{Math.Round(0.5)}"); Console.WriteLine($"Math.Round(0.501)输出结果:{Math.Round(0.501)}"); Console.WriteLine($"Math.Round(0.6)输出结果:{Math.Round(0.6)}"); Console.WriteLine($"Math.Round(1.5)输出结果:{Math.Round(1.5)}"); Console.WriteLine($"Math.Round(2.5)输出结果:{Math.Round(2.5)}"); Console.WriteLine($"Math.Round(3.5)输出结果:{Math.Round(3.5)}"); Console.WriteLine($"Math.Round(4.5)输出结果:{Math.Round(4.5)}"); Console.WriteLine($"Math.Round(5.5)输出结果:{Math.Round(5.5)}"); Console.WriteLine($"Math.Round(6.5)输出结果:{Math.Round(6.5)}"); Console.WriteLine($"Math.Round(7.5)输出结果:{Math.Round(7.5)}"); Console.WriteLine($"Math.Round(8.5)输出结果:{Math.Round(8.5)}"); Console.WriteLine($"Math.Round(9.5)输出结果:{Math.Round(9.5)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("***************Math.Round(double)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; //decimal Round(decimal d); Console.WriteLine($"Math.Round((decimal)0.4)输出结果:{Math.Round((decimal)0.4)}"); Console.WriteLine($"Math.Round((decimal)0.5)输出结果:{Math.Round((decimal)0.5)}"); Console.WriteLine($"Math.Round((decimal)0.501)输出结果:{Math.Round((decimal)0.501)}"); Console.WriteLine($"Math.Round((decimal)0.6)输出结果:{Math.Round((decimal)0.6)}"); Console.WriteLine($"Math.Round((decimal)1.5)输出结果:{Math.Round((decimal)1.5)}"); Console.WriteLine($"Math.Round((decimal)2.5)输出结果:{Math.Round((decimal)2.5)}"); Console.WriteLine($"Math.Round((decimal)3.5)输出结果:{Math.Round((decimal)3.5)}"); Console.WriteLine($"Math.Round((decimal)4.5)输出结果:{Math.Round((decimal)4.5)}"); Console.WriteLine($"Math.Round((decimal)5.5)输出结果:{Math.Round((decimal)5.5)}"); Console.WriteLine($"Math.Round((decimal)6.5)输出结果:{Math.Round((decimal)6.5)}"); Console.WriteLine($"Math.Round((decimal)7.5)输出结果:{Math.Round((decimal)7.5)}"); Console.WriteLine($"Math.Round((decimal)8.5)输出结果:{Math.Round((decimal)8.5)}"); Console.WriteLine($"Math.Round((decimal)9.5)输出结果:{Math.Round((decimal)9.5)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("**************Math.Round(decimal)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; //decimal Round(decimal d, int decimals); Console.WriteLine($"Math.Round((decimal)0.4,0)输出结果:{Math.Round((decimal)0.4, 0)}"); Console.WriteLine($"Math.Round((decimal)0.5, 0)输出结果:{Math.Round((decimal)0.5, 0)}"); Console.WriteLine($"Math.Round((decimal)0.501, 0)输出结果:{Math.Round((decimal)0.501, 0)}"); Console.WriteLine($"Math.Round((decimal)0.6, 0)输出结果:{Math.Round((decimal)0.6, 0)}"); Console.WriteLine($"Math.Round((decimal)1.5, 0)输出结果:{Math.Round((decimal)1.5, 0)}"); Console.WriteLine($"Math.Round((decimal)2.5, 0)输出结果:{Math.Round((decimal)2.5, 0)}"); Console.WriteLine($"Math.Round((decimal)3.5, 0)输出结果:{Math.Round((decimal)3.5, 0)}"); Console.WriteLine($"Math.Round((decimal)4.5, 0)输出结果:{Math.Round((decimal)4.5, 0)}"); Console.WriteLine($"Math.Round((decimal)5.5, 0)输出结果:{Math.Round((decimal)5.5, 0)}"); Console.WriteLine($"Math.Round((decimal)6.5, 0)输出结果:{Math.Round((decimal)6.5, 0)}"); Console.WriteLine($"Math.Round((decimal)7.5, 0)输出结果:{Math.Round((decimal)7.5, 0)}"); Console.WriteLine($"Math.Round((decimal)8.5, 0)输出结果:{Math.Round((decimal)8.5, 0)}"); Console.WriteLine($"Math.Round((decimal)9.5, 0)输出结果:{Math.Round((decimal)9.5, 0)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("**************Math.Round(decimal,int)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; //double Round(double value, int digits); Console.WriteLine($"Math.Round(0.4,0)输出结果:{Math.Round(0.4, 0)}"); Console.WriteLine($"Math.Round(0.5, 0)输出结果:{Math.Round(0.5, 0)}"); Console.WriteLine($"Math.Round(0.501, 0)输出结果:{Math.Round(0.501, 0)}"); Console.WriteLine($"Math.Round(0.6, 0)输出结果:{Math.Round(0.6, 0)}"); Console.WriteLine($"Math.Round(1.5, 0)输出结果:{Math.Round(1.5, 0)}"); Console.WriteLine($"Math.Round(2.5, 0)输出结果:{Math.Round(2.5, 0)}"); Console.WriteLine($"Math.Round(3.5, 0)输出结果:{Math.Round(3.5, 0)}"); Console.WriteLine($"Math.Round(4.5, 0)输出结果:{Math.Round(4.5, 0)}"); Console.WriteLine($"Math.Round(5.5, 0)输出结果:{Math.Round(5.5, 0)}"); Console.WriteLine($"Math.Round(6.5, 0)输出结果:{Math.Round(6.5, 0)}"); Console.WriteLine($"Math.Round(7.5, 0)输出结果:{Math.Round(7.5, 0)}"); Console.WriteLine($"Math.Round(8.5, 0)输出结果:{Math.Round(8.5, 0)}"); Console.WriteLine($"Math.Round(9.5, 0)输出结果:{Math.Round(9.5, 0)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("**************Math.Round(double,int)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; //decimal Round(decimal d, MidpointRounding mode); Console.WriteLine($"Math.Round((decimal)0.4, MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.4, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)0.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)0.501,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.501, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)0.6,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.6, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)1.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)1.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)2.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)2.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)3.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)3.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)4.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)4.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)5.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)5.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)6.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)6.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)7.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)7.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)8.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)8.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)9.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)9.5, MidpointRounding.AwayFromZero)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(decimal,MidpointRounding.AwayFromZero)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Math.Round((decimal)0.4, MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.4, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)0.5,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)0.501,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.501, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)0.6,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.6, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)1.5,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)1.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)2.5,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)2.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)3.5,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)3.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)4.5,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)4.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)5.5,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)5.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)6.5,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)6.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)7.5,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)7.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)8.5,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)8.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)9.5,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)9.5, MidpointRounding.ToEven)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(decimal,MidpointRounding.ToEven)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; //double Round(double value, MidpointRounding mode); Console.WriteLine($"Math.Round(0.4, MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.4, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(0.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(0.501,MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.501, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(0.6,MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.6, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(1.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round(1.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(2.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round(2.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(3.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round(3.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(4.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round(4.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(5.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round(5.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(6.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round(6.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(7.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round(7.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(8.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round(8.5, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(9.5,MidpointRounding.AwayFromZero)输出结果:{Math.Round(9.5, MidpointRounding.AwayFromZero)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(double,MidpointRounding.AwayFromZero)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Math.Round(0.4, MidpointRounding.ToEven)输出结果:{Math.Round(0.4, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(0.5,MidpointRounding.ToEven)输出结果:{Math.Round(0.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(0.501,MidpointRounding.ToEven)输出结果:{Math.Round(0.501, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(0.6,MidpointRounding.ToEven)输出结果:{Math.Round(0.6, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(1.5,MidpointRounding.ToEven)输出结果:{Math.Round(1.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(2.5,MidpointRounding.ToEven)输出结果:{Math.Round(2.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(3.5,MidpointRounding.ToEven)输出结果:{Math.Round(3.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(4.5,MidpointRounding.ToEven)输出结果:{Math.Round(4.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(5.5,MidpointRounding.ToEven)输出结果:{Math.Round(5.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(6.5,MidpointRounding.ToEven)输出结果:{Math.Round(6.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(7.5,MidpointRounding.ToEven)输出结果:{Math.Round(7.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(8.5,MidpointRounding.ToEven)输出结果:{Math.Round(8.5, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(9.5,MidpointRounding.ToEven)输出结果:{Math.Round(9.5, MidpointRounding.ToEven)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(double,MidpointRounding.ToEven)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; //double Round(double value, int digits, MidpointRounding mode); Console.WriteLine($"Math.Round(0.4,0, MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.4, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(0.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(0.501,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.501, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(0.6,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.6, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(1.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(1.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(2.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(2.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(3.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(3.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(4.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(4.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(5.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(5.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(6.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(6.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(7.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(7.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(8.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(8.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(9.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round(9.5, 0, MidpointRounding.AwayFromZero)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(double,int,MidpointRounding.AwayFromZero)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Math.Round(0.4,0, MidpointRounding.ToEven)输出结果:{Math.Round(0.4, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(0.5,0,MidpointRounding.ToEven)输出结果:{Math.Round(0.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(0.501,0,MidpointRounding.ToEven)输出结果:{Math.Round(0.501, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(0.6,0,MidpointRounding.ToEven)输出结果:{Math.Round(0.6, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(1.5,0,MidpointRounding.ToEven)输出结果:{Math.Round(1.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(2.5,0,MidpointRounding.ToEven)输出结果:{Math.Round(2.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(3.5,0,MidpointRounding.ToEven)输出结果:{Math.Round(3.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(4.5,0,MidpointRounding.ToEven)输出结果:{Math.Round(4.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(5.5,0,MidpointRounding.ToEven)输出结果:{Math.Round(5.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(6.5,0,MidpointRounding.ToEven)输出结果:{Math.Round(6.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(7.5,0,MidpointRounding.ToEven)输出结果:{Math.Round(7.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(8.5,0,MidpointRounding.ToEven)输出结果:{Math.Round(8.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(9.5,0,MidpointRounding.ToEven)输出结果:{Math.Round(9.5, 0, MidpointRounding.ToEven)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(double,int,MidpointRounding.ToEven)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; //decimal Round(decimal d, int decimals, MidpointRounding mode); Console.WriteLine($"Math.Round((decimal)0.4,0, MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.4, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)0.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)0.501,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.501, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)0.6,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.6, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)1.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)1.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)2.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)2.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)3.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)3.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)4.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)4.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)5.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)5.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)6.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)6.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)7.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)7.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)8.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)8.5, 0, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)9.5,0,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)9.5, 0, MidpointRounding.AwayFromZero)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(decimal,int,MidpointRounding.AwayFromZero)*END***************"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Math.Round((decimal)0.4,0, MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.4, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)0.5,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)0.501,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.501, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)0.6,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.6, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)1.5,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)1.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)2.5,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)2.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)3.5,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)3.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)4.5,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)4.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)5.5,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)5.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)6.5,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)6.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)7.5,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)7.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)8.5,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)8.5, 0, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)9.5,0,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)9.5, 0, MidpointRounding.ToEven)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(decimal,int,MidpointRounding.ToEven)*END*********************"); #endregion #region 两位小数 Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*********************************两位小数*********************************"); Console.ForegroundColor = ConsoleColor.Red; //decimal Round(decimal d, int decimals); Console.WriteLine($"Math.Round((decimal)0.464,2)输出结果:{Math.Round((decimal)0.464, 2)}"); Console.WriteLine($"Math.Round((decimal)0.465, 2)输出结果:{Math.Round((decimal)0.465, 2)}"); Console.WriteLine($"Math.Round((decimal)0.46501, 2)输出结果:{Math.Round((decimal)0.46501, 2)}"); Console.WriteLine($"Math.Round((decimal)0.466, 2)输出结果:{Math.Round((decimal)0.466, 2)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("**************Math.Round(decimal,int)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; //double Round(double value, int digits); Console.WriteLine($"Math.Round(0.464,2)输出结果:{Math.Round(0.464, 2)}"); Console.WriteLine($"Math.Round(0.465, 2)输出结果:{Math.Round(0.465, 2)}"); Console.WriteLine($"Math.Round(0.46501, 2)输出结果:{Math.Round(0.46501, 2)}"); Console.WriteLine($"Math.Round(0.466, 2)输出结果:{Math.Round(0.466, 2)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("**************Math.Round(double,int)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; //double Round(double value, int digits, MidpointRounding mode); Console.WriteLine($"Math.Round(0.464,2, MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.464, 2, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(0.465,2,MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.465, 2, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(0.46501,2,MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.46501, 2, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round(0.466,2,MidpointRounding.AwayFromZero)输出结果:{Math.Round(0.466, 2, MidpointRounding.AwayFromZero)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(double,int,MidpointRounding.AwayFromZero)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Math.Round(0.464,2, MidpointRounding.ToEven)输出结果:{Math.Round(0.464, 2, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(0.465,2,MidpointRounding.ToEven)输出结果:{Math.Round(0.465, 2, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(0.46501,2,MidpointRounding.ToEven)输出结果:{Math.Round(0.46501, 2, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round(0.466,2,MidpointRounding.ToEven)输出结果:{Math.Round(0.466, 2, MidpointRounding.ToEven)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(double,int,MidpointRounding.ToEven)*END*********************"); Console.ForegroundColor = ConsoleColor.Red; //decimal Round(decimal d, int decimals, MidpointRounding mode); Console.WriteLine($"Math.Round((decimal)0.464,2, MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.464, 2, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)0.465,2,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.465, 2, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)0.46501,2,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.46501, 2, MidpointRounding.AwayFromZero)}"); Console.WriteLine($"Math.Round((decimal)0.466,2,MidpointRounding.AwayFromZero)输出结果:{Math.Round((decimal)0.466, 2, MidpointRounding.AwayFromZero)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(decimal,int,MidpointRounding.AwayFromZero)*END***************"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Math.Round((decimal)0.464,2, MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.464, 2, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)0.465,2,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.465, 2, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)0.46501,2,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.46501, 2, MidpointRounding.ToEven)}"); Console.WriteLine($"Math.Round((decimal)0.466,2,MidpointRounding.ToEven)输出结果:{Math.Round((decimal)0.466, 2, MidpointRounding.ToEven)}"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("*****Math.Round(decimal,int,MidpointRounding.ToEven)*END*********************"); #endregion Console.ReadKey();