前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BigDecimal用法详解

BigDecimal用法详解

作者头像
用户10325771
发布2023-03-01 18:48:34
7290
发布2023-03-01 18:48:34
举报

文章目录[隐藏]

1 初始化

代码语言:javascript
复制
//数值的形式初始化
BigDecimal num1 = new BigDecimal(123.213);
//尽量用字符串的形式初始化
BigDecimal num2 = new BigDecimal("0.005");

2 加减乘除

代码语言:javascript
复制
//加法     
BigDecimal result1 = num1.add(num1);    
BigDecimal result2 = num12.add(num2);     
//减法     
BigDecimal result3 = num1.subtract(num1);     
BigDecimal result4 = num12.subtract(num2);     
//乘法    
BigDecimal result5 = num1.multiply(num1);     
BigDecimal result6 = num12.multiply(num2);     
//绝对值     
BigDecimal result7 = num1.abs();     
BigDecimal result8 = num2.abs();     
//除法     
BigDecimal result9 = num1.divide(num1,20,BigDecimal.ROUND_HALF_UP);     BigDecimal result10 = num2.divide(num2,20,BigDecimal.ROUND_HALF_UP);
(BigDecimal divisor 除数, int scale 精确小数位,int roundingMode 舍入模式)

3 比较

代码语言:javascript
复制
BigDecimal a = new BigDecimal (101);
BigDecimal b = new BigDecimal (111);
 
//使用compareTo方法比较
//注意:a、b均不能为null,否则会报空指针
if(a.compareTo(b) == -1){
    System.out.println("a小于b");
}
 
if(a.compareTo(b) == 0){
    System.out.println("a等于b");
}
 
if(a.compareTo(b) == 1){
    System.out.println("a大于b");
}
 
if(a.compareTo(b) > -1){
    System.out.println("a大于等于b");
}
 
if(a.compareTo(b) < 1){
    System.out.println("a小于等于b");·

4 RoundingMode

代码语言:javascript
复制
RoundingMode.CEILING:取右边最近的整数

RoundingMode.DOWN:去掉小数部分取整,也就是正数取左边,负数取右边,相当于向原点靠近的方向取整

RoundingMode.FLOOR:取左边最近的正数

RoundingMode.HALF_DOWN:五舍六入,负数先取绝对值再五舍六入再负数

RoundingMode.HALF_UP:四舍五入,负数原理同上

RoundingMode.HALF_EVEN:这个比较绕,整数位若是奇数则四舍五入,若是偶数则五舍六入
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-11-11),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 初始化
  • 2 加减乘除
  • 3 比较
  • 4 RoundingMode
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档