环境VS2005,VS2003没有测试。
Math.Round (Decimal, Int32) |
将小数值舍入到指定精度。 由 .NET Compact Framework 支持。 |
Math.Round (Double, Int32)
|
将双精度浮点值舍入到指定精度。 由 .NET Compact Framework 支持。 |
msdn并没有详细的说明清楚,给了一个例子;
Math.Round(3.44, 1); //Returns 3.4.
Math.Round(3.45, 1); //Returns 3.4.
Math.Round(3.46, 1); //Returns 3.5.
依照他的例子得到的是"五舍六入",我改变了一下数字得到的结果将完全改变。
Math.Round(3.445, 1); //Returns 3.4.
Math.Round(3.455, 1); //Returns 3.5.
Math.Round(3.465, 1); //Returns 3.5.
Math.Round(3.450, 1); //Returns 3.4.(补0是无效的)
Math.Round(3.4452, 2); //Returns 3.45.
Math.Round(3.4552, 2); //Returns 3.46.
Math.Round(3.4652, 2); //Returns 3.47.
四舍六入五成双
四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。
对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,
也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,
"六"是指≥6时进上,
"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;
当5后无数或为0时,需要分两种情况来讲:
①5前为奇数,舍5入1;
②5前为偶数,舍5不进。
具体规则如下:
1. 被修约的数字等于或小于4时,该数字舍去;
2. 被修约的数字等于或大于6时,则进位;
3. 被修约的数字等于5时,要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。
举例,用上述规则对下列数据保留3位有效数字:
9.8249=9.82, 9.82671=9.83
9.8350=9.84, 9.8351 =9.84
9.8250=9.82, 9.82501=9.83
从统计学的角度,“四舍六入五成双”比“四舍五入”要科学,在大量运算时,它使舍入后的结果误差的均值趋于零,而不是像四舍五入那样逢五就入,导致结果偏向大数,使得误差产生积累进而产生系统误差,“四舍六入五成双”使测量结果受到舍入误差的影响降到最低。
例如:1.15+1.25+1.35+1.45=5.2,
若按四舍五入取一位小数计算:
1.2+1.3+1.4+1.5=5.4
按“四舍六入五成双”计算,
1.2+1.2+1.4+1.4=5.2,舍入后的结果更能反映实际结果。
分享到:
相关推荐
本文为大家介绍下Javascript中的四舍五入Math.round()与Math.pow()的使用,感兴趣的朋友不要错过
c#中Math.Round四舍五入算法:银行家舍入 四舍五入
此方法返回一个数四舍五入为最接近的整数的值。 语法 Math.round( x ) ; 下面是参数的详细信息: x: 一个数字 返回值: 返回数字四舍五入为最接近的整数的值。 例子: <html> <head> <title>...
Math.Round()--c#与java的区别.pdf
解释: Math.Round()准确的说,这个函数不是四舍五入,而是四舍六入五凑偶,就是说小于4或大于6的该舍该入是没有争议的,而5处在正中间,如果四舍五入则会造成数据的整体偏差,所以采取的原则是:如果舍入位为5,则...
在处理一些数据时,我们希望能用“四舍五入”法实现,但是C#采用的是“四舍六入五成双”的方法,如下面的例子,就是用“四舍六入五成双”得到的结果: double d1 = Math.Round(1.25, 1);//1.2 double d2 = Math....
Math.Random()简介 Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。 for (int i = 0; i ...
Math.round()方法将对参数进行四舍五入操作。 点击可参阅更多相关Math对象方法和属性。 语法结构: Math.round(x) 参数列表: 参数 描述 x 必需。必须是数值类型。 实例代码: 实例一: 复制代码 代码如下: ...
Math.uuid.js js 生成 uuid
* math.js * https://github.com/josdejong/mathjs * * Math.js is an extensive math library for JavaScript and Node.js, * It features real and complex numbers, units, matrices, a large set of * ...
C# 中没有四舍五入函数,程序语言都没有四舍五入函数,因为四舍五入算法不科学,国际通行的是 Banker 舍入法 Bankers rounding(银行家舍入)算法,即四舍六入五取偶。事实上这也是 IEEE 规定的舍入标准。因此所有...
用于大数计算,用于国密加密、RSA加密等
java.math.BigDecimal 操作类,包含加减乘除、String型加减乘除精度格式化转换计算等
randomNo1 = Math.round(Math.random() * 5) + 1; randomNo2 = Math.round(Math.random() * 5) + 1; randomNo3 = Math.round(Math.random() * 5) + 1; randomNo4 = Math.round(Math.random() * 5) + 1; randomNo5 = ...
使用示例: math.config({ number:'BigNumber' }) let result=math.parser().eval(a+ "-" + b); //a,b是需要计算的值,中间是运算符
本文主要介绍在基于Windows CE 平台的英创嵌入式主板下进行C#(Microsoft Visual Stdio.Net 2005)应用程序开发时会常常用到的一些功能函数以及开发方法,这些方法适用 于英创采用WinCE 平台的所有型号嵌入式主板,...
Math.ceil(): round a number up Arguments: Any numeric value or expression Returns: The closest integer greater than or equal to x. ———————————————————————————————– Math...
解决mongo数据插入时 报错问题 mogodb插入数据时报错Can't find a codec for class java.math.BigDecimal
主要介绍了详解Java中Math.round()的取整规则,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧