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四大常用方法总结
// 设置小数点后第三位数字一大一小观察效果
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相关推荐
- 关于BigDecimal常量的使用ROUND_UP,ROUND_DOWN,ROUND_HALF_UP,ROUND_HALF_DOWN
ROUND_UP 截断的小数>0时进一位 //ROUND_UPBigDecimal zero = new BigDecimal("1.0750000");BigDecimal ...
- BigDecimal四舍五入保留两位小数
import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public c ...
- BigDecimal四舍五入与保留位
1.引言 借用<Effactive Java>这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确 ...
- java bigdecimal.round_down,java BigDecimal 的 setScale() 方法的 BigDecimal.ROUND_DOWN 舍入模式的BUG,坑...
因为项目使用到 BigDecimal.ROUND_DOWN 接近零的舍入模式 ,没想到有一个 使用的坑. 下面来例子说明: String add = "67.80"; System ...
- BigDecimal四舍五入后保留两位小数
测试代码如下:double dayDiff2 = 5.06135778;BigDecimal usedM = new BigDecimal(dayDiff2);//保留两位小数且四舍五入usedM = ...
- BigDecimal中divide方法与setScale方法详解
BigDecimal中divide方法详解 1.首先说一下用法,BigDecimal中的divide主要就是用来做除法的运算.其中有这么一个方法. public BigDecimal divide(B ...
- bigdecimal负数变正数_BigDecimal
一.比较大小 int a = bigdemical1.compareTo(bigdecimal2) //a = -1,表示bigdemical小于bigdemical2: //a = 0,表示bigd ...
- 【Python】浮点数计算时的不准确性以及如何进行精确计算
浮点数一个普遍的问题就是在计算机的世界中,浮点数并不能准确地表示十进制.并且,即便是最简单的数学运算,也会带来不可控制的后果.因为,在计算机的世界中只认识0与1 因为在计算机里面,小数是不精确的,例如 ...
- java BigDecimal.ROUND_UP和BigDecimal.ROUND_DOWN的用处
今天在工作中遇到了这样的一个需求, 一个小数,例如1.7777777,或者1.3333333,不管后面的位数是多少,只保留到小数点后第二位,但是不是四舍五入,1.7777777处理后就是1.77,1. ...
最新文章
- mac mysql的安装
- make报错:/usr/bin/ld: cannot find -lXXX
- js markdown chart flow
- ASP.NET中的Menu控件的应用
- c语言鼠标环绕特效,C语言写的鼠标有残影,急需解决方案,在线等待!
- extjs 月份选择控件_Excel | 做个生日提醒控件,本月或下月过生日的员工信息随你查看...
- 百度贴吧 2017 前贴子无法访问;网易腾讯游戏获批;苹果反垄断案败诉 | 极客头条...
- BZOJ1324Exca王者之剑BZOJ1475方格取数——二分图最大独立集
- react循环key值_01 React快速入门(一)——使用循环时对于‘key’报错处理
- Spring boot学习(七)Spring boot配置slf4j+logback日志框架
- 写插件代码查看单据简单示例分享
- 醉上清新年中工作总结汇报模板免费下载_PPTX图片设计素材_包图网888pic.com
- mysql2008安装失败_sql server 2008为什么会安装失败 sql2008安装失败解决办法
- RBAC权限设计详解
- 小米蓝牙耳机使用说明书
- 【程序设计训练】1-7 F1方程式冠军
- vue双花括号的使用
- 不打开Excel文件直接读取数据
- phpstudy mysql端口_PHP集成环境phpstudy启动时80或者3306端口占用解决办法
- windows10中创建Direct3D11设备出现0x887a002d错误的解决方案
热门文章
- 史上最详细的AVL树(含代码实现)
- Java实现AVL树
- python绘制各种摆线(包括心形线星形线等,超炫酷)
- Balanced Sequence
- Python-OpenCV-PS油画滤镜效果
- UC号、百家号,为什么这些科技公司都押注“内容”?
- zabbix_sender用法实例
- 信息传输速率与传信率_数据、信号、码元传输速率和信息传输速率等概念
- 现有列表记录商品名称和价格如下:要求用户输入总资产,例如: 20000,输出所有商品序号和商品列表,每行
- 二十五岁零基础转行做软件测试怎么样?