BigDecimal使用详解
1个回答
展开全部
一、构造方法
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
(2)setScale方法
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //保留2位小数
四、比较大小
BigDecimal比较大小不能使用equals因为不仅比较值还比较精度
这里使用BigDecimal自带方法compareTo
例:
BigDecimal a = new BigDecimal("1.00");
BigDecmial b = new BigDecimal(1);
a.compareTo(b)==0结果是true
这里返回值含义: -1小于 0等于 1大于
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
(2)setScale方法
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); //保留2位小数
四、比较大小
BigDecimal比较大小不能使用equals因为不仅比较值还比较精度
这里使用BigDecimal自带方法compareTo
例:
BigDecimal a = new BigDecimal("1.00");
BigDecmial b = new BigDecimal(1);
a.compareTo(b)==0结果是true
这里返回值含义: -1小于 0等于 1大于
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询