C# Math.Round 四舍六入五成双 |
您所在的位置:网站首页 › 四舍五入的英文翻译 › C# Math.Round 四舍六入五成双 |
环境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,舍入后的结果更能反映实际结果。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |