四舍六入五成双的规则:
1. 被修约的数字小于5时,该数字舍去;
2. 被修约的数字大于5时,则进位;
3. 被修约的数字等于5时,要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。
举例,用上述规则对下列数据保留2位小数:
9.8249=9.82, 9.82671=9.83
9.8350=9.84, 9.8351 =9.84
9.8250=9.82, 9.82501=9.83
代码:
/** * @param value 需要科学计算的数据 * @param digit 保留的小数位 * @return * 功能:四舍六入五成双计算法 */ public static String sciCal(double value, int digit){ String result = "-999"; try { double ratio = Math.pow(10, digit); double _num = value * ratio; double mod = _num % 1; double integer = Math.floor(_num); double returnNum; if(mod > 0.5){ returnNum=(integer + 1) / ratio; }else if(mod < 0.5){ returnNum=integer / ratio; }else{ returnNum=(integer % 2 == 0 ? integer : integer + 1) / ratio; } BigDecimal bg = new BigDecimal(returnNum); result = bg.setScale((int)digit, BigDecimal.ROUND_HALF_UP).toString(); } catch (RuntimeException e) { throw e; } return result; }
相关推荐
加、减、乘、除、平方、四舍六入五成双
在Java编程语言中,四舍五入是一种常见的数学操作,用于处理浮点数或小数,使其更加符合实际应用需求。本文将详细解析如何在Java中实现四舍五入,并探讨不同方法的适用场景。 ### Java四舍五入的基础概念 四舍五入...
为了克服四舍五入带来的统计偏差,数学家提出了“四舍六入五成双”的改进方案。这一规则的核心在于处理数字5的情况,具体而言: - 对于任何需要保留的小数位后的数字,如果是0至4,则舍去; - 如果是6至9,则向前进...
`DecimalFormat`是Java提供的一个类,用于格式化数字。它允许我们定制数字的显示格式,包括小数点后的位数。以下是使用`DecimalFormat`限制显示小数点后两位的代码示例: ```java DecimalFormat format = new ...
`Math.round()`方法是最具特色的,它执行“四舍六入五成双”规则,也称为银行家舍入法。对于非负数,它会根据小数部分来决定是否向最近的整数靠拢,遵循“四舍五入”的原则。对于负数,首先将其转换为正数,然后执行...
在本文中,我们详细介绍了 Java 中 Math.round() 的取整规则,包括四舍五入的原理和示例代码的验证。我们还讨论了五成双的规则,了解了 Math.round() 的取整规则对大家的学习或者工作具有一定的参考学习价值。