`
低调衬着那一抹妖娆
  • 浏览: 31391 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java 四舍六入五成双

阅读更多

 四舍六入五成双的规则:

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中实现四舍五入,并探讨不同方法的适用场景。 ### Java四舍五入的基础概念 四舍五入...

    四舍五入中小数位问题

    为了克服四舍五入带来的统计偏差,数学家提出了“四舍六入五成双”的改进方案。这一规则的核心在于处理数字5的情况,具体而言: - 对于任何需要保留的小数位后的数字,如果是0至4,则舍去; - 如果是6至9,则向前进...

    Android 限制显示小数点后两位的实现方法

    `DecimalFormat`是Java提供的一个类,用于格式化数字。它允许我们定制数字的显示格式,包括小数点后的位数。以下是使用`DecimalFormat`限制显示小数点后两位的代码示例: ```java DecimalFormat format = new ...

    java数学工具类Math详解(round方法)

    `Math.round()`方法是最具特色的,它执行“四舍六入五成双”规则,也称为银行家舍入法。对于非负数,它会根据小数部分来决定是否向最近的整数靠拢,遵循“四舍五入”的原则。对于负数,首先将其转换为正数,然后执行...

    详解Java中Math.round()的取整规则

    在本文中,我们详细介绍了 Java 中 Math.round() 的取整规则,包括四舍五入的原理和示例代码的验证。我们还讨论了五成双的规则,了解了 Math.round() 的取整规则对大家的学习或者工作具有一定的参考学习价值。

Global site tag (gtag.js) - Google Analytics