ROUND_UP

截断的小数>0时进一位

        //ROUND_UPBigDecimal zero = new BigDecimal("1.0750000");BigDecimal one = new BigDecimal("1.0750001");BigDecimal two = zero.setScale(3,BigDecimal.ROUND_UP);BigDecimal three = one.setScale(3,BigDecimal.ROUND_UP);System.out.println("two="+two); //two=1.075System.out.println("three="+three); //three=1.076

 ROUND_DOWN

直接舍弃截断的小数,不在小数位上进一位,不管舍弃的数值有多大

        BigDecimal zero = new BigDecimal("1.0740000");BigDecimal one = new BigDecimal("1.0790001");BigDecimal two = zero.setScale(2,BigDecimal.ROUND_DOWN);BigDecimal three = one.setScale(2,BigDecimal.ROUND_DOWN);System.out.println("two="+two);System.out.println("three="+three);two=1.07three=1.07

 ROUND_HALF_UP

四舍五入,数学意义上的四舍五入

        BigDecimal zero = new BigDecimal("1.0740000");BigDecimal one = new BigDecimal("1.0790001");BigDecimal two = zero.setScale(2,BigDecimal.ROUND_HALF_UP);BigDecimal three = one.setScale(2,BigDecimal.ROUND_HALF_UP);System.out.println("two="+two);System.out.println("three="+three);two=1.07three=1.08

 ROUND_HALF_DOWN

一开始我以为这个是五舍六入,其实不是

当截取掉的小数位的值>=5,且5后面还有>0的值,就会进一位

        BigDecimal zero = new BigDecimal("1.0740001");BigDecimal one = new BigDecimal("1.075000");BigDecimal one1 = new BigDecimal("1.075001");BigDecimal two = zero.setScale(2,BigDecimal.ROUND_HALF_DOWN);BigDecimal three = one.setScale(2,BigDecimal.ROUND_HALF_DOWN);BigDecimal three1 = one1.setScale(2,BigDecimal.ROUND_HALF_DOWN);System.out.println("two="+two);System.out.println("three="+three);System.out.println("three1="+three1);two=1.07three=1.07three1=1.08

关于BigDecimal常量的使用ROUND_UP,ROUND_DOWN,ROUND_HALF_UP,ROUND_HALF_DOWN相关推荐

  1. 【Python】浮点数计算时的不准确性以及如何进行精确计算

    浮点数一个普遍的问题就是在计算机的世界中,浮点数并不能准确地表示十进制.并且,即便是最简单的数学运算,也会带来不可控制的后果.因为,在计算机的世界中只认识0与1 因为在计算机里面,小数是不精确的,例如 ...

  2. BigDecimal 八种舍入模式介绍

    BigDecimal 八种舍入模式介绍 一.BigDecimal 简介 二.BigDecimal 的舍入模式 ROUND_UP ROUND_DOWN ROUND_CEILING ROUND_FLOOR ...

  3. ROUND_UP、ROUND_DOWN、ROUND_HALF_UP(BigDecimal四舍五入)、ROUND_HALF_DOWN

    BigDecimal的setScale常用方法(ROUND_UP.ROUND_DOWN.ROUND_HALF_UP.ROUND_HALF_DOWN) BigDecimal的setScale四大常用方法 ...

  4. BigDecimal.ROUND_UP和BigDecimal.ROUND_DOWN

    ROUND_HALF_UP: 遇到.5的情况时往上近似,例: 1.5 ->;2 ROUND_HALF_DOWN : 遇到.5的情况时往下近似,例: 1.5 ->;1 BigDecimal ...

  5. java BigDecimal.ROUND_UP和BigDecimal.ROUND_DOWN的用处

    今天在工作中遇到了这样的一个需求, 一个小数,例如1.7777777,或者1.3333333,不管后面的位数是多少,只保留到小数点后第二位,但是不是四舍五入,1.7777777处理后就是1.77,1. ...

  6. BigNumber 的静态属性含义-(ROUND_DOWN,ROUND_UP,ROUND_CEIL,ROUND_FLOOR,ROUND_HALF_UP,ROUND_HALF_CEIL)

    本文讲述的是 bignumber.js 这个库的静态属性,其实网上解释很多,但是感觉很多人都说不明白,写这篇文章的目的通过我的理解让更多的人更加容易理解和记住他们的含义 库的链接:GitHub - M ...

  7. 关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN

    关于BigDecimal.ROUND_HALF_UP与ROUND_HALF_DOWN UP  ROUND_HALF_UP: 遇到.5的情况时往上近似,例: 1.5 ->;2 ROUND_HALF ...

  8. BigDecimal ROUND_HALF_UP 与 ROUND_HALF_DOWN 的区别

    BigDecimal 首先 说一下自己遇到的问题 System.out.println(new BigDecimal("111.1212335").setScale(6, BigD ...

  9. Java篇 - 最全BigInteger和BigDecimal实战

    最近公司在做一款区块链钱包,区块链上传输的数值都是很大的,大到几十位.用Java的基本类型是处理不了的,int占32位,long.double占64位,如果用这些基本数据类型运算的话,第一是存储不了这 ...

最新文章

  1. php给留言分配id_如何使用php生成唯一ID的4种方法
  2. redis的string类型和bitmap
  3. python界面散点图_Python数据可视化——散点图
  4. SQL Server查询所有数据库下模式schema
  5. 所选驱动器不再有效,继续安装之前,请先检查安装路径的设置
  6. Mysql 的子查询
  7. 网络通信tcp与udp的区别
  8. 笔记 Json语法 01
  9. Java基本数据类型及其包装类
  10. Alexa工具条正确安装方法 Alexa工具条正确使用方法 Alexa工具条正确应用
  11. java实现图片反色处理代码示例
  12. android手机壁纸尺寸,安卓手机壁纸尺寸选择攻略:屏幕分辨率≠壁纸分辨率
  13. zoj 3332 Strange Country II
  14. nas网络存储_网络附加存储NAS
  15. 线程的stop方法和interrupt方法
  16. Learning Center Probability Map for Detecting Objects in Aerial Images 论文学习笔记
  17. wgs84 转百度地图坐标
  18. Excise_day01
  19. 前端实习生需要到达什么水平?
  20. 为什么使用双亲委派机制以及如何破坏双亲委派

热门文章

  1. 使用torch.nn.functional.pad填充图片
  2. 丢失MSVCR120.dll
  3. 高通820(msm8996)camera hal源码分析
  4. java 使用oos 进行数据上传和跨域
  5. 小程序实现圆点边框 解决 dotted不兼容 小程序圆点边框兼容问题 如何在小程序实现兼容的圆点边框
  6. FLOJET GP50/7 PT496976
  7. 怎样快速将PDF文件旋转
  8. word java_java操作word
  9. 教师资格证考69分是怎么算的?
  10. openssl 1.0.2k-fips 升级到 openssl-3.0.3