Java中BigDecimal取整方法

BigDecimal bd = new BigDecimal("12.1");
long l  = bd.setScale( 0, BigDecimal.ROUND_UP ).longValue(); // 向上取整
long l  = bd.setScale( 0, BigDecimal.ROUND_DOWN ).longValue(); // 向下取整* 对于正数而言,ROUND_UP  = ROUND_CEILING,ROUND_DOWN = ROUND_FLOOR
各个roundingMode详解如下:
  • ROUND_UP:非0时,舍弃小数后(整数部分)加1,比如12.49结果为13,-12.49结果为 -13
  • ROUND_DOWN:直接舍弃小数
  • ROUND_CEILING:如果 BigDecimal 是正的,则做 ROUND_UP 操作;如果为负,则做 ROUND_DOWN 操作 (一句话:取附近较大的整数)
  • ROUND_FLOOR: 如果 BigDecimal 是正的,则做 ROUND_DOWN 操作;如果为负,则做 ROUND_UP 操作(一句话:取附近较小的整数)
  • ROUND_HALF_UP:四舍五入(取更近的整数)
  • ROUND_HALF_DOWN:跟ROUND_HALF_UP 差别仅在于0.5时会向下取整
  • ROUND_HALF_EVEN:取最近的偶数
  • ROUND_UNNECESSARY:不需要取整,如果存在小数位,就抛ArithmeticException 异常

BigDecimal取整相关推荐

  1. Java中double类型精度丢失的问题_double类型数据加减操作精度丢失解决方法_BigDecimal取整

    BigDecimal在用double做入参的时候,二进制无法精确地表示十进制小数,编译器读到字符串"0.0000002"和"1.0000002"之后,必须把它转 ...

  2. java int相除向上取整_java实战项目常用类,Date、Calendar、BigDecimal、Math、UUID

    Java开发中经常用到的类和方法,以下主要就日期是时间处理.金融数字处理.数学计算.随机数.MD5加密等. java.util.Date类 java.util 包提供了 Date 类来封装当前的日期和 ...

  3. Java使用BigDecimal的setScale方法进行百位向上取整

    int num = 199; BigDecimal bd = new BigDecimal(num); bd = bd.setScale(-2, BigDecimal.ROUND_DOWN); Sys ...

  4. bigdecimal向上取整Java_BigDecimal类

    BigDecimal 是java小数操作的一个专有类,在电商.金融行业 存储跟金额有关的字段 java里面明明已经有了,float,double这种精度的小数,为什么还需要BigDecimal呢? 这 ...

  5. java 凑整_Java语言中的取整运算(包括截尾取整,四舍五入,凑整)? – 日记

    import java.math.BigDecimal; import java.text.DecimalFormat; public class TestGetInt{ public static ...

  6. java 除法向上,向下取整

    向上取整用:Math.ceil(double a)向下取整用:Math.floor(double a) int a = 7;int b = 5;BigDecimal aBig = new BigDec ...

  7. java取整和四舍五入方法

    1 import java.math.BigDecimal; 2 import java.text.DecimalFormat; 3 4 public class TestGetInt { 5 pub ...

  8. java向上取整去掉末尾的0_BigDecimal去除末尾多余的0

    Java有自带的 stripTrailingZeros() 方法用于去除末尾多余的0 BigDecimal num = new BigDecimal("100.000"); Big ...

  9. 大于3小于4的整数bleem_java中的取整与四舍五入方法实例

    java中的取整与四舍五入方法实例,方式,正数,负数,四舍五入,小数点 java中的取整与四舍五入方法实例 易采站长站,站长之家为您整理了java中的取整与四舍五入方法实例的相关内容. 一.java中 ...

最新文章

  1. 2022-2028年中国锂电材料产业投资分析及前景预测报告
  2. 武大+CMU最新开源!全面支持平面/鱼眼/球面相机的实时统一线段检测算法
  3. 物流机器人站上风口!未来市场增长获双引擎加持
  4. java comp env 区别_加和不加java:comp/env/前缀有什么区别?
  5. 竞争者无数的大数据赛道,这家创业公司靠什么获得众多资本青睐?
  6. system函数 与 exec函数的区别
  7. 【SpringBoot零基础案例05】【IEDA 2021.1】若SpringBoot项目两种配置文件同时存在,哪种文件配置起作用?
  8. leetcode 792. Number of Matching Subsequences | 792. 匹配子序列的单词数(Java)
  9. getelementbyid获取不到js加载的元素_Selenium元素定位不到?JS注入轻松搞定!
  10. Java开发Web Service的几种解决方案
  11. python对json的相关操作
  12. 获得磁盘的飞鸽传书描述信息
  13. 二、Get和Post的区别
  14. 怎么真正入行Web前端行业?JavaScript五大新特性是什么?
  15. collector_使用Data Collector监视SQL Server性能
  16. gradle 关于repository配置
  17. C语言按位取反~的简单理解
  18. 黑莓手机安装linux,Ubuntu下善用黑莓(备份,同步,装卸备份应用程序)
  19. java base64转二进制_使用Java将Base64转换为二进制
  20. typo3 网站迁移

热门文章

  1. 前端学习记录27-JavaScript-(作用域、预解析、自定义对象)
  2. 美团琴鸟 Lyrebird 工具 (接口 mock 类)
  3. Oracle11g数据库创建dblink介绍
  4. 常用的Web安全认证方式
  5. 学习Python爬虫记录贴
  6. css中的相对路径和绝对路径的问题
  7. Python爬虫实战,Request+urllib模块,批量下载爬取飙歌榜所有音乐文件
  8. clickhouse 数据备份与恢复
  9. 诗歌:雨中的紧张 献给白荷姑娘
  10. R语言如何构建正交多项式回归?