安卓开发小窝安卓开发程序员

BigDecimal使用详解

2019-03-19  本文已影响2人  此生唯一自传
   我们知道商业级运算是肯定不能用double/float的,精确运算需要用到BigDecimal来处理,下面介绍BigDecimal的使用方法

一、构造方法
BigDecimal的构造方法有很多种,大家最常用的如下方式:
BigDecimal bd1=new BigDecimal(10);
BigDecimal bd2=new BigDecimal("10");

二、四则预算
加法:bigDecimal1.add(bigDecimal2);
减法:bigDecimal1.subtract(bigDecimal2);
乘法:bigDecimal1.multiply(bigDecimal2);
除法:bigDecimal1.divide(bigDecimal2);

三、对小数的处理

(1).DecimalFormat类
例:
DecimalFormat df =new DecimalFormat("#.00");
df.format(3.1415926);
结果输出3.14

.00 表示两位小数 #.000三位小数......

(2)setScale方法
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //保留2位小数

image.png

四、比较大小
BigDecimal比较大小不能使用equals因为不仅比较值还比较精度
这里使用BigDecimal自带方法compareTo
例:
BigDecimal a = new BigDecimal("1.00");
BigDecmial b = new BigDecimal(1);
a.compareTo(b)==0结果是true
这里返回值含义: -1小于 0等于 1大于

上一篇下一篇

猜你喜欢

热点阅读