四舍六入五成双的规则:

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 四舍六入五成双相关推荐

  1. java 四舍六入五成双_显示格式的四舍六入五成双

    一.问题描述 在使用快逸复杂报表设计" target="_blank" class="quieeLink1">设计器时,若单元格内的信息为数值, ...

  2. java 四舍六入五成双_【数据小常识】“四舍六入五成双”

    "四舍六入五成双"规则如下: "四舍六入五成双",也即"4舍6入5凑偶",这里"四"是指≤4 时舍去,"六&q ...

  3. java 四舍六入五成双_EXCEL实现四舍六入五成双修约规则的方法

    中国药典的修约原则是四舍六入五成双(只是中国药典这样,USP.EP都是四舍五入).四舍六入五成双的修约原则为: 1. 被修约的数字小于5时,该数字舍去: 2. 被修约的数字大于5时,则进位: 3. 被 ...

  4. Java中四舍五入和四舍六入五成双

    Math.round()的取整规则结论:四舍五入下取整 例如 A: 11.2 ----> 11 B: 11.6 ----> 12 C: 11.5--->12 D: 11.51-> ...

  5. JAVA计算保留小数-四舍六入五成双

    四舍六入五成双 含义: 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是"四舍六入五成双",也即"4舍6入 ...

  6. c语言整形除法是五舍六入吗,四舍六入五成双 - C/C++论坛 - 51CTO技术论坛_中国领先的IT技术社区...

    复制内容到剪贴板 代码:#include using namespace std; #define FLENGTH 1000;        //宏定义保留3位小数 double fun(double ...

  7. sqlserver varchar 对于 sum 运算符无效_在sqlserver上实现自定义函数四舍六入五成双...

    做过统计都知道关于保留几位小数有好几种方法,其中4舍6入5凑偶用的比较多,所以我就是sqlserver里面实现了一个自定义函数 定义 对于位数很多的近似数,当位数确定后,其后面多余的数字应该舍去,只保 ...

  8. C# 四舍五入 (解决四舍六入五成双的问题)

    四舍六入五成双是一种精确度的计数保留法.舍入规律是"四舍六入五成双",这里"四"是小于五的意思,"六"是大于五的意思,"五&quo ...

  9. IEEE浮点数尾数向偶舍入-四舍六入五成双

    IEEE浮点数舍入默认算法 可以用一句话来概括 四舍六入五成双 例如有效数字超出规定数位的多余数字是1001,它大于超出规定最低位的一半(即0.5),故最低位进1.如果多余数字是0111,它小于最低位 ...

最新文章

  1. 思科——单臂路由与DHCP的结合
  2. 史上最快消息内核——ZeroMQ
  3. python数据可视化代码_python数据可视化
  4. livechart 只显示 y 值_【科研工具51】谷歌,谷歌学术,Scihub有效网址检索软件——Y学术...
  5. Git--生成公钥和私钥并添加gitlab访问权限
  6. Spark Structured SQL : JDBC写入Oracle
  7. mysql 数据备份方案_MySQL常见备份方案
  8. BZOJ5336 TJOI2018 party 【状压DP】*
  9. 非负矩阵分解 NMF(Non-negative Matrix Factorization )
  10. Linux 磁盘管理 一(Raid、LVM、Quota)
  11. python的sorted函数和operator.itemgetter函数
  12. python画皮卡丘
  13. SQL 查询某个字段某个字符串内容出现次数实现
  14. Python-内置函数
  15. 百度搜索有广告?不存在的。
  16. 32位MIPS流水线CPU设计
  17. 最佳情侣身高差 Java版 PTA
  18. pythonqq刷消息_QQ快速刷幸运字符
  19. Python爬取10529条《三十而已》热评,看看大家都说了些啥!
  20. 除权除息的形成、作用和影响

热门文章

  1. assuming drive cache: write through 处理
  2. Excel删除重复行单不删除单元格
  3. 开发人员常说的CLI是什么
  4. Linux系统清空回收站
  5. ubuntu 22端口不通
  6. 网络服务器未运行是什么原因是,Win7系统网络诊断提示诊断策略服务未运行怎么办?...
  7. 关于更佳学术搜索及Android SDK更新问题
  8. uni.getUserProfile报错:fail can only be invoked by user TAP gesture
  9. 关于校外访问湖北经济学院校内图书馆资源的具体步骤
  10. JAVA对接语音验证码接口API