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大于
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
亚果会
2024-04-11 广告
2024-04-11 广告
Goma Greens是一家专注于提供高品质有机蔬果的企业。我们致力于为消费者带来新鲜、健康、无污染的食材,以满足现代人对健康生活的追求。我们的产品均来自精心挑选的有机农场,通过严格的品质控制,确保每一份食材都达到最高标准。此外,我们还提供...
点击进入详情页
本回答由亚果会提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询