BigDecimal参数8种舍入方式
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种舍入方式相关推荐
- java 向上舍入_介绍Java的大数类(BigDecimal)和八种舍入模式
1.BigDecimal简介 BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成.如果为零或正数,则标度是小数点后的位数.如果为负数,则将该数的非标度值乘以 1 ...
- java 舍_Java中BigDecimal的8种舍入模式
java.math.BigDecimal 不可变的.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成. 如果为零或正数,则标度是小数点后的位 ...
- C++ 函数参数3种传值方式(以交换两个数为例)
简介 在C++中,函数参数的传值方式有传值调用.指针调用和引用调用.接下来,通过一个实例来演示三者区别. 代码 #include <iostream>using namespace std ...
- 史上最全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 ...
- Java中BigDecimal的8种舍入模式
http://www.blogjava.net/wangzc2001/archive/2010/12/17/340988.html
- java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定
java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定 2016年05月11日 11:20:08 阅读数:6336 一. 计算机的小数计算一定范围内精确,超过范围只能 ...
- java BigDecimal八种舍入模式
一.BigDecimal介绍 java.math.BigDecimal 不可变的immutable.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值和32位的整数标度(scal ...
- BigDecimal的8种round舍入模式
写段代码,用一个数字(正数或负数),依次使用8种不同的模式,看i参数 public static void demo(BigDecimal bigDecimal, int scale){System. ...
- 启动指定参数_SpringBoot的三种启动方式
1.背景 这几天在看面试题,看到了有关SpringBoot的相关知识点,其中有一个问题是:"SpringBoot有哪几种启动方式?".一下子懵逼了,脑子里面只记得在本地启动的时候是 ...
最新文章
- nginx前端根据$remote_addr分发方法
- Jenkins添加从节点相关配置
- python转盘抽奖概率_转盘指定概率抽奖
- 如何在Apache环境下配置Rewrite规则
- python中调用万年历_python 打印万年历
- python发动机曲轴连杆动力学计算
- 单例对象会被jvm的gc时回收吗_设计模式专题02-单例五种创建方式
- 无人驾驶(在apollo中添加新车辆)
- Matcha已升级至0xV4版,比Uniswap和Sushi等平台节省4%的交易费
- 不加群就可以提取QQ群成员
- 随着公网对讲机市场占有率得不断增长,部分对讲机厂家为了得到用户的认可,不断升级对讲机及时以及对讲机的功能和性能,因此越来越多的全国对讲机以及公网对讲机问世。但是某些用户不清楚对讲机的原理,不禁会问
- 云计算分布式架构简介
- 学习c语言有什么作用,c语言有什么用 小白如何学习c语言
- python给批量图片添加文字 脚本_Python实现图片添加文字
- 基于php+MySQL电脑外设商城网站毕业设计源码271538
- MacOS 11 系统电子书方案----MuMu安卓模拟器
- NNI学习(一)介绍与安装
- 黑群晖6.1安装出现错误:38的解决办法
- Android Activity的启动流程分析:以Launcher启动一个Activity为例,分析应用进程的创建、Activity的启动,以及他们和AMS之间的交互
- 服务器i文件夹,IBM i上http server实用技巧之一:访问IBM i多文件系统
热门文章
- redhat自带mysql_rhel4卸载系统自带的mysql4.1
- 蓝桥杯 算法训练 结点选择
- Knowledge Integration Networks for Action Recognition AAAI 2020
- windows下dlib库简介、安装问题解决及简单小例子 (python)
- 自动化测试--8种定位方式以及等待详解
- python中直方图bins是什么意思_Python 中下划线的 5 种含义都是什么?
- 若依如何配置允许跨域访问?
- java test20006_Java单例7种测试实践
- 什么叫显示动力学_通过流体动力学研究找到制作煎饼的最佳方法
- [Perforce系列—] 1. 使用Perforce 命令 与常用命令