我是靠谱客的博主 开心红牛,最近开发中收集的这篇文章主要介绍关于BigDecimal运算(比较、加减乘除、取余)总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

BigDecimal运算

    • 1、比较
    • 2、四则运算
          • 2.1、加法 add
          • 2.2、减法 subtract
          • 2.3、乘法 multiply
          • 2.4、除法 divide
        • 2.5、BigDecimal 处理小数
          • setScale()
    • 3、取余

1、比较

BigDecimal可以通过compareTo方法来进行比较。
返回的结果是int类型,-1表示小于,0是等于,1是大于。
例如:

BigDecimal a = new BigDecimal(3);
BigDecimal b = new BigDecimal(2);
 if ( a.compareTo(b) == 1 ) {
 //等同于a>b
  } 

2、四则运算

2.1、加法 add
a = a.add(b);
2.2、减法 subtract
a = a.subtract(b);
2.3、乘法 multiply
a = a.multiply(b);
2.4、除法 divide
a = a.divide(b);
  • 注意: BigDecimal使用方法自身不会改变,结果需要接收 !( 不可直接写a.add(b))

2.5、BigDecimal 处理小数

setScale()

setScale(1) 表示保留一位小数,默认用四舍五入方式

setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3

setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4

setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入(5则向上入),2.35变成2.4

setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入(5则向下舍),2.35变成2.3

3、取余

divideAndRemainder( BigDecimal divisor )

 BigDecimal[] c = a.divideAndRemainder(b);

返回一个BigDecimal数组,返回数组中包含两个元素,第一个元素为两数相除的商,第二个元素为余数。
例如:

 BigDecimal d = c[0].add( new BigDecimal(1));
 BigDecimal e = c[1].compareTo( new BigDecimal(0) ) == 0 ? c[0] : d ;

最后

以上就是开心红牛为你收集整理的关于BigDecimal运算(比较、加减乘除、取余)总结的全部内容,希望文章能够帮你解决关于BigDecimal运算(比较、加减乘除、取余)总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部