1、ROUND_UP

舍入远离零的舍入模式。

在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1)。

注意,此舍入模式始终不会减少计算值的大小。

2、ROUND_DOWN

接近零的舍入模式。

在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字加1,即截短)。

注意,此舍入模式始终不会增加计算值的大小。

3、ROUND_CEILING

接近正无穷大的舍入模式。

如果 BigDecimal 为正,则舍入行为与 ROUND_UP 相同;

如果为负,则舍入行为与 ROUND_DOWN 相同。

注意,此舍入模式始终不会减少计算值。

4、ROUND_FLOOR

接近负无穷大的舍入模式。

如果 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同;

如果为负,则舍入行为与 ROUND_UP 相同。

注意,此舍入模式始终不会增加计算值。

5、ROUND_HALF_UP

向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。

如果舍弃部分 >= 0.5,则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同。

注意,这是我们大多数人在小学时就学过的舍入模式(四舍五入)。

6、ROUND_HALF_DOWN

向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为上舍入的舍入模式。

如果舍弃部分 > 0.5,则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同(五舍六入)。

7、ROUND_HALF_EVEN    银行家舍入法

向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。

如果舍弃部分左边的数字为奇数,则舍入行为与 ROUND_HALF_UP 相同;

如果为偶数,则舍入行为与 ROUND_HALF_DOWN 相同。

注意,在重复进行一系列计算时,此舍入模式可以将累加错误减到最小。

此舍入模式也称为“银行家舍入法”,主要在美国使用。四舍六入,五分两种情况。

如果前一位为奇数,则入位,否则舍去。

以下例子为保留小数点1位,那么这种舍入方式下的结果。

1.15>1.2 1.25>1.2

8、ROUND_UNNECESSARY

断言请求的操作具有精确的结果,因此不需要舍入。

如果对获得精确结果的操作指定此舍入模式,则抛出ArithmeticException。

因为我们是属于互联网金融行业,所有在进行计算的时候尽量使用ROUND_HALF_EVEN    银行家舍入法

BigDecimal参数8种舍入方式相关推荐

  1. java 向上舍入_介绍Java的大数类(BigDecimal)和八种舍入模式

    1.BigDecimal简介 BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成.如果为零或正数,则标度是小数点后的位数.如果为负数,则将该数的非标度值乘以 1 ...

  2. java 舍_Java中BigDecimal的8种舍入模式

    java.math.BigDecimal 不可变的.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成. 如果为零或正数,则标度是小数点后的位 ...

  3. C++ 函数参数3种传值方式(以交换两个数为例)

    简介 在C++中,函数参数的传值方式有传值调用.指针调用和引用调用.接下来,通过一个实例来演示三者区别. 代码 #include <iostream>using namespace std ...

  4. 史上最全BigDecimal的5种进位方式:ROUND_UP,ROUND_DOWN,ROUND_CEILING,ROUND_FLOOR,ROUND_HALF_UP,ROUND_HALF_DOWN的比较

    先上JAVA官方文档 /*** Rounding mode to round away from zero. Always increments the* digit prior to a nonze ...

  5. Java中BigDecimal的8种舍入模式

    http://www.blogjava.net/wangzc2001/archive/2010/12/17/340988.html

  6. java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定

    java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定 2016年05月11日 11:20:08 阅读数:6336 一. 计算机的小数计算一定范围内精确,超过范围只能 ...

  7. java BigDecimal八种舍入模式

    一.BigDecimal介绍 java.math.BigDecimal 不可变的immutable.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值和32位的整数标度(scal ...

  8. BigDecimal的8种round舍入模式

    写段代码,用一个数字(正数或负数),依次使用8种不同的模式,看i参数 public static void demo(BigDecimal bigDecimal, int scale){System. ...

  9. 启动指定参数_SpringBoot的三种启动方式

    1.背景 这几天在看面试题,看到了有关SpringBoot的相关知识点,其中有一个问题是:"SpringBoot有哪几种启动方式?".一下子懵逼了,脑子里面只记得在本地启动的时候是 ...

最新文章

  1. nginx前端根据$remote_addr分发方法
  2. Jenkins添加从节点相关配置
  3. python转盘抽奖概率_转盘指定概率抽奖
  4. 如何在Apache环境下配置Rewrite规则
  5. python中调用万年历_python 打印万年历
  6. python发动机曲轴连杆动力学计算
  7. 单例对象会被jvm的gc时回收吗_设计模式专题02-单例五种创建方式
  8. 无人驾驶(在apollo中添加新车辆)
  9. Matcha已升级至0xV4版,比Uniswap和Sushi等平台节省4%的交易费
  10. 不加群就可以提取QQ群成员
  11. 随着公网对讲机市场占有率得不断增长,部分对讲机厂家为了得到用户的认可,不断升级对讲机及时以及对讲机的功能和性能,因此越来越多的全国对讲机以及公网对讲机问世。但是某些用户不清楚对讲机的原理,不禁会问
  12. 云计算分布式架构简介
  13. 学习c语言有什么作用,c语言有什么用 小白如何学习c语言
  14. python给批量图片添加文字 脚本_Python实现图片添加文字
  15. 基于php+MySQL电脑外设商城网站毕业设计源码271538
  16. MacOS 11 系统电子书方案----MuMu安卓模拟器
  17. NNI学习(一)介绍与安装
  18. 黑群晖6.1安装出现错误:38的解决办法
  19. Android Activity的启动流程分析:以Launcher启动一个Activity为例,分析应用进程的创建、Activity的启动,以及他们和AMS之间的交互
  20. 服务器i文件夹,IBM i上http server实用技巧之一:访问IBM i多文件系统

热门文章

  1. redhat自带mysql_rhel4卸载系统自带的mysql4.1
  2. 蓝桥杯 算法训练 结点选择
  3. Knowledge Integration Networks for Action Recognition AAAI 2020
  4. windows下dlib库简介、安装问题解决及简单小例子 (python)
  5. 自动化测试--8种定位方式以及等待详解
  6. python中直方图bins是什么意思_Python 中下划线的 5 种含义都是什么?
  7. 若依如何配置允许跨域访问?
  8. java test20006_Java单例7种测试实践
  9. 什么叫显示动力学_通过流体动力学研究找到制作煎饼的最佳方法
  10. [Perforce系列—] 1. 使用Perforce 命令 与常用命令