BigDecimal的setScale常用方法(ROUND_UP、ROUND_DOWN、ROUND_HALF_UP、ROUND_HALF_DOWN)

BigDecimal的setScale四大常用方法总结

// 设置小数点后第三位数字一大一小观察效果
BigDecimal num =  new BigDecimal("3.3235667");
BigDecimal numOne =  new BigDecimal("3.3275667");

1、ROUND_UP:进位制:不管保留数字后面是大是小(0除外)都会进1

// ROUND_UP--进位制:不管保留数字后面是大是小(0除外)都会进1
BigDecimal num1 = num.setScale(2,BigDecimal.ROUND_UP);
System.out.println("SmallROUND_UP:"+num1);
BigDecimal numTwo = numOne.setScale(2,BigDecimal.ROUND_UP);
System.out.println("BigROUND_UP:"+numTwo);
打印结果:SmallROUND_UP:3.33  BigROUND_UP:3.33

2、ROUND_DOWN:保留设置数字,后面所有直接去除

// ROUND_DOWN--保留设置数字,后面所有直接去除

BigDecimal num2 = num.setScale(2,BigDecimal.ROUND_DOWN);
System.out.println("SmallROUND_DOWN:"+num2);
BigDecimal numThree = numOne.setScale(2,BigDecimal.ROUND_DOWN);
System.out.println("BigROUND_DOWN:"+numThree);打印结果:SmallROUND_DOWN:3.32BigROUND_DOWN:3.32

3、ROUND_HALF_UP:根据保留数字后一位>=5进行四舍五入

// ROUND_HALF_UP--根据保留数字后一位>=5进行四舍五入
BigDecimal num3 = num.setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println("SmallROUND_HALF_UP:"+num3);
BigDecimal numFour = numOne.setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println("BigROUND_HALF_UP:"+numFour);
打印结果:SmallROUND_HALF_UP:3.32BigROUND_HALF_UP:3.33

4、ROUND_HALF_DOWN:根据保留数字后一位>5进行四舍五入

BigDecimal num4 = num.setScale(2,BigDecimal.ROUND_HALF_DOWN);
System.out.println("SmallROUND_HALF_DOWN:"+num4);
BigDecimal numFive = numOne.setScale(2,BigDecimal.ROUND_HALF_DOWN);
System.out.println("BigROUND_HALF_DOWN:"+numFive);
打印结果:SmallROUND_HALF_DOWN:3.32BigROUND_HALF_DOWN:3.33
希望大家有所收益!!!

ROUND_UP、ROUND_DOWN、ROUND_HALF_UP(BigDecimal四舍五入)、ROUND_HALF_DOWN相关推荐

  1. 关于BigDecimal常量的使用ROUND_UP,ROUND_DOWN,ROUND_HALF_UP,ROUND_HALF_DOWN

    ROUND_UP 截断的小数>0时进一位 //ROUND_UPBigDecimal zero = new BigDecimal("1.0750000");BigDecimal ...

  2. BigDecimal四舍五入保留两位小数

    import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public c ...

  3. BigDecimal四舍五入与保留位

    1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确 ...

  4. java bigdecimal.round_down,java BigDecimal 的 setScale() 方法的 BigDecimal.ROUND_DOWN 舍入模式的BUG,坑...

    因为项目使用到 BigDecimal.ROUND_DOWN 接近零的舍入模式 ,没想到有一个 使用的坑. 下面来例子说明: String add = "67.80"; System ...

  5. BigDecimal四舍五入后保留两位小数

    测试代码如下:double dayDiff2 = 5.06135778;BigDecimal usedM = new BigDecimal(dayDiff2);//保留两位小数且四舍五入usedM = ...

  6. BigDecimal中divide方法与setScale方法详解

    BigDecimal中divide方法详解 1.首先说一下用法,BigDecimal中的divide主要就是用来做除法的运算.其中有这么一个方法. public BigDecimal divide(B ...

  7. bigdecimal负数变正数_BigDecimal

    一.比较大小 int a = bigdemical1.compareTo(bigdecimal2) //a = -1,表示bigdemical小于bigdemical2: //a = 0,表示bigd ...

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

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

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

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

最新文章

  1. mac mysql的安装
  2. make报错:/usr/bin/ld: cannot find -lXXX
  3. js markdown chart flow
  4. ASP.NET中的Menu控件的应用
  5. c语言鼠标环绕特效,C语言写的鼠标有残影,急需解决方案,在线等待!
  6. extjs 月份选择控件_Excel | 做个生日提醒控件,本月或下月过生日的员工信息随你查看...
  7. 百度贴吧 2017 前贴子无法访问;网易腾讯游戏获批;苹果反垄断案败诉 | 极客头条...
  8. BZOJ1324Exca王者之剑BZOJ1475方格取数——二分图最大独立集
  9. react循环key值_01 React快速入门(一)——使用循环时对于‘key’报错处理
  10. Spring boot学习(七)Spring boot配置slf4j+logback日志框架
  11. 写插件代码查看单据简单示例分享
  12. 醉上清新年中工作总结汇报模板免费下载_PPTX图片设计素材_包图网888pic.com
  13. mysql2008安装失败_sql server 2008为什么会安装失败 sql2008安装失败解决办法
  14. RBAC权限设计详解
  15. 小米蓝牙耳机使用说明书
  16. 【程序设计训练】1-7 F1方程式冠军
  17. vue双花括号的使用
  18. 不打开Excel文件直接读取数据
  19. phpstudy mysql端口_PHP集成环境phpstudy启动时80或者3306端口占用解决办法
  20. windows10中创建Direct3D11设备出现0x887a002d错误的解决方案

热门文章

  1. 史上最详细的AVL树(含代码实现)
  2. Java实现AVL树
  3. python绘制各种摆线(包括心形线星形线等,超炫酷)
  4. Balanced Sequence
  5. Python-OpenCV-PS油画滤镜效果
  6. UC号、百家号,为什么这些科技公司都押注“内容”?
  7. zabbix_sender用法实例
  8. 信息传输速率与传信率_数据、信号、码元传输速率和信息传输速率等概念
  9. 现有列表记录商品名称和价格如下:‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬要求用户输入总资产,例如: 20000,输出所有商品序号和商品列表,每行
  10. 二十五岁零基础转行做软件测试怎么样?