public static long round(double a) 返回最接近参数的 long.结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为 long 类型.换句话说,结果等于以下表达式的值: (long)Math.floor(a + 0.5d) 按照四舍五入的理解,-11.5约等于-12才对,但是Java中的round采取加上1/2再向下取整的方式,所以在类似这种.5的数据时不能按四舍五入理解. 又测试了下Excel表格,发现它的round函数为四舍五入.…
C#中Math.Round()实现中国式四舍五入 C#中的Math.Round()并不是使用的"四舍五入"法.其实在VB.VBScript.C#.J#.T-SQL中Round函数都是采用Banker's rounding(银行家算法),即:四舍六入五取偶.事实上这也是IEEE的规范,因此所有符合IEEE标准的语言都应该采用这样的算法. .NET 2.0 开始,Math.Round 方法提供了一个枚举选项 MidpointRounding.AwayFromZero 可以用来实现传统意义上…
C#中的Math.Round()并不是使用的"四舍五入"法.实际上是四舍六入五取偶. 对于这个问题我们常见的解决方式是使用MidpointRounding.AwayFromZero,这个枚举来实现. Eg: Math.Round(2.5) //result:2 Math.Round(3.5) //result:4 Math.Round(2.5, MidpointRounding.AwayFromZero); // result:3 Math.Round(3.5, MidpointRou…
double dou = 1.255; //这种是错误的 double dou_result = Math.Round(dou, 2); //结果: 1.25 dou_result = Math.Round(dou, 2, MidpointRounding.AwayFromZero); //结果: 1.25 //这种是正确的,如//996.68225,保留4位小数 decimal dec_result = Math.Round(Convert.ToDecimal(dou), 2,Midpoint…
decimal sum = 11111.334; sum = , MidpointRounding.AwayFromZero);  sum:11111.33decimal sum = 11111.345; sum = , MidpointRounding.AwayFromZero);  sum :11111.35…
有不少人误将Math.Round函数当作四舍五入函数在处理, 结果往往不正确, 实际上Math.Round采用的是国际通行的是 Banker 舍入法. Banker's rounding(银行家舍入)算法,即四舍六入五取偶.事实上这也是 IEEE 规定的舍入标准.因此所有符合 IEEE 标准的语 言都应该是采用这一算法的. 这个算法可以概括为:“四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍 去,五前为奇要进一.”    请看下面的例子: Math.Round(); //Retur…
Math.ceil()向上舍入 1 2 3 alert(Math.ceil(20.1)) //输出 21 alert(Math.ceil(20.5)) //输出 21 alert(Math.ceil(20.9)) //输出 21 Math.round标准的四舍五入 1 2 3 alert(Math.round(20.1)) //输出 20 alert(Math.round(20.5)) //输出 21 alert(Math.round(20.9)) //输出 21 Math.floor()向下舍…
Math.round.parseInt.Math.floor和Math.ceil 都可以返回一个整数,具体的区别请看下面的总结. 一.Math.round 作用:四舍五入,返回参数+0.5后,向下取整. 如: Math.round(5.57) //返回6 Math.round(2.4) //返回2 Math.round(-1.5) //返回-1 Math.round(-5.8) //返回-6 二.parseInt 作用:解析一个字符串,并返回一个整数,这里可以简单理解成返回舍去参数的小数部分后的…
有不少人误将Math.Round函数当作四舍五入函数在处理, 结果往往不正确, 实际上Math.Round采用的是国际通行的是 Banker 舍入法. Banker's rounding(银行家舍入)算法,即四舍六入五取偶.事实上这也是 IEEE 规定的舍入标准.因此所有符合 IEEE 标准的语言都应该是采用这一算法的. 这个算法可以概括为:“四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍 去,五前为奇要进一.”    请看下面的例子: Math.Round(3.44, 1); /…
一.Math.round() 作用:四舍五入返回整数.(返回参数+0.5后,向下取整) Math.round(5.57) //返回6 Math.round(2.4) //返回2 Math.round(-1.5) //返回-1 Math.round(-5.8) //返回-6 二.Math.ceil() 作用:返回大于等于参数的最小整数. Math.ceil(5.57) //返回6 Math.ceil(2.4) //返回3 Math.ceil(-1.5) //返回-1 Math.ceil(-5.8)…