`
低调衬着那一抹妖娆
  • 浏览: 30914 次
  • 性别: 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;
	}
 
分享到:
评论

相关推荐

    SqlServer函数_四舍六入五成双

    四舍六入五成双:四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一。 注:修约时看保留小数的后一位为5时进行修约,其他按四舍五入情况。 修约:五后皆零看奇偶,修约看5前面那一...

    四舍五入 c# 四舍六入五成双

    在处理一些数据时,我们希望能用“四舍五入”法实现,但是C#采用的是“四舍六入五成双”的方法,如下载的例子,就是用“四舍六入五成双”得到的结果,里面还包括了一个“四舍五入”的实现方法。 龙天下 团队整理提供...

    四舍六入五成双宏编写代码

    四舍六 入五成双宏编写代码

    四舍六入五成双excel加载宏

    四舍六入五成双,加载到excel的宏,方便数据处理时使用。

    四舍六入五成双算法

    **四舍六入五成双算法**,也称为**银行家算法**,是金融行业中广泛采用的一种精确舍入策略,其核心原则是确保舍入过程的统计平衡性,避免因频繁向一个方向舍入而导致的系统误差。这种算法在处理财务和科学计算时尤其...

    通过Excel自带公式实现四舍六入五成双(非宏代码)

    通过Excel自带公式实现 四舍六入五成双 通过非宏代码实现,解决版本兼容性问题

    加、减、乘、除、平方、四舍六入五成双

    加、减、乘、除、平方、四舍六入五成双

    JS实现四舍六入五单双

    在某些行业,计算结果不是四舍五入,而是要求四舍六入五单双,且小数位数不固定,只明确有效位数。本程序就是应此需求而设计,输入原始数字和有效位数要求,则可返回按四舍六入后的结果。

    sqlserver四舍六入函数

    从统计学的角度,“四舍六入五成双”比“四舍五入”要科学,在大量运算时,它使舍入后的结果误差的均值趋于零,而不是像四舍五入那样逢五就入,导致结果偏向大数,使得误差产生积累进而产生系统误差,“四舍六入五...

    自己写的Oracle四舍六入奇进偶不进的函数

    四舍六入五单进是一种特殊的数值修约规则,它与传统的四舍五入有所不同。具体来说,当数值的小数部分小于等于4时,则向0方向舍去;当小数部分大于或等于6时,则向最接近的方向进位;当小数部分恰好为5时,则采用特殊...

    java 四舍五入 需要的朋友看看

    在Java编程语言中,四舍五入是一种常见的数学操作,用于处理浮点数或小数,使其更加符合实际应用需求。本文将详细解析如何在Java中实现四舍五入,并探讨不同方法的适用场景。 ### Java四舍五入的基础概念 四舍五入...

    四舍五入?四舍六入!

    综上所述,四舍五入、四舍六入五成双以及如何在C语言中实现这些算法是单片机编程中的重要知识点。在实际应用中,理解并正确使用这些舍入规则,不仅能够提高计算结果的准确性,还能够帮助控制由于舍入带来的累积误差...

    数字修约规则-----四舍五入和四舍六入五留双规则[文].pdf

    数字修约规则-----四舍五入和四舍六入五留双规则 数字修约规则是指在数字计算或测量过程中,为了简化或精确地表示数字,舍去部分数字并保留有效数字的规则。在实际应用中,数字修约规则有多种,但其中最常用的两种...

    “银行家算法”大揭秘!在前端表格中利用自定义公式实现“四舍六入五成双”.doc

    用户可以通过调用该函数来实现“四舍六入五成双”的功能。 银行家算法的规则如下: *舍去位的数值小于 5 时,直接舍去; *舍去位的数值大于等于 6 时,进位后舍去; *当舍去位的数值等于 5 时,分两种情况:5 后面...

    彻底解决VB四舍五入问题

    在VB中,round采用的是四舍六入,用起来不理想,formatnumber对于负数处理不好,所以自己写了一个小函数,解决了这个问题,需要的拿去用吧.

    四舍五入中小数位问题

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

    C#编程实现四舍五入、向上及下取整的方法

    在处理一些数据时,我们希望能用“四舍五入”法实现,但是C#采用的是“四舍六入五成双”的方法,如下面的例子,就是用“四舍六入五成双”得到的结果: double d1 = Math.Round(1.25, 1);//1.2 double d2 = Math....

    sqlserver 四舍五入

    如果是1,则采用四舍六入五成双规则,这种规则下,当数值恰好处于两个整数中间时,会向最近的偶数方向进行舍入。 #### CAST和CONVERT函数 在使用`ROUND`函数之后,我们通常会结合使用`CAST`或`CONVERT`函数,将结果...

    sqlserver四舍五入使用round函数及cast和convert函数

    在SQL Server中,进行数值四舍五入操作通常有多种方法,其中最常用的函数是`ROUND`,但也可以使用`CAST`和`CONVERT`函数来实现类似的效果。本文将详细探讨这三种方法以及它们在处理四舍五入时的特点。 `ROUND`函数...

    有效数字及其运算规则案例PPT学习教案.pptx

    四舍六入五成双规则是最常用的修约规则,即四舍六入五成双。 三、有效数字的运算法则 有效数字的运算法则是指在进行计算时,需要考虑有效数字位数的影响。例如,51.8和51.80这两个数是否相同?答案是肯定的,因为...

Global site tag (gtag.js) - Google Analytics