C# Math.Round中国式的四舍五入法】的更多相关文章

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…
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函数为四舍五入.…
有不少人误将Math.Round函数当作四舍五入函数在处理, 结果往往不正确, 实际上Math.Round采用的是国际通行的是 Banker 舍入法. Banker's rounding(银行家舍入)算法,即四舍六入五取偶.事实上这也是 IEEE 规定的舍入标准.因此所有符合 IEEE 标准的语 言都应该是采用这一算法的. 这个算法可以概括为:“四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍 去,五前为奇要进一.”    请看下面的例子: Math.Round(); //Retur…
有不少人误将Math.Round函数当作四舍五入函数在处理, 结果往往不正确, 实际上Math.Round采用的是国际通行的是 Banker 舍入法. Banker's rounding(银行家舍入)算法,即四舍六入五取偶.事实上这也是 IEEE 规定的舍入标准.因此所有符合 IEEE 标准的语言都应该是采用这一算法的. 这个算法可以概括为:“四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍 去,五前为奇要进一.”    请看下面的例子: Math.Round(3.44, 1); /…
//toFixed 四舍五入遇到坑. 1.235.toFixed(2) = 1.23 1.2350001.toFixed(2) = 1.24 //去尾法 Number.prototype.toFloor = function (num) { return Math.floor(this * Math.pow(10, num)) / Math.pow(10, num); }; //进一法 Number.prototype.toCeil = function (num) { return Math.…
有不少人误将Math.Round函数当作四舍五入函数在处理, 结果往往不正确, 实际上Math.Round采用的是国际通行的是 Banker 舍入法. Banker's rounding(银行家舍入)算法,即四舍六入五取偶.事实上这也是 IEEE 规定的舍入标准.因此所有符合 IEEE 标准的语言都应该是采用这一算法的. 这个算法可以概括为:“四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍 去,五前为奇要进一.”    请看下面的例子: Math.Round(3.44, 1); /…
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() 作用:四舍五入返回整数.(返回参数+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)…
首先,这些处理方法可分为三类. 1,只用来处理数字取整问题的:Math.round(),Math.floor(),Math.ceil(): 2,专门用于把字符串转化成数值:parseInt(),parseFloat(): 3,  没有什么卵用的:Number() 下面看看他们各自的用法和区别,逐个分类说. 一,parseInt() parseInt()函数可以将字符串转换成一个整数,parseInt()函数不仅可以解析纯数字字符串,也可以解析以数字开头的部分数字字符串(非数字部分字符串在转换过程…