BigDecimal在java的应用

import java.math.BigDecimal;

public class BigDecimalDemo {
public static void main(String[] args) {
function();
function_1();
/*
* System.out.println(0.09 + 0.01); //0.09999999999999999
* System.out.println(1.0 - 0.32);// 0.6799999999999999
* System.out.println(1.015 * 100); // 101.4999999999999
* System.out.println(1.301 / 100); //0.013009999999999999
//计算结果,原因是二进制中,表示浮点数不精确造成
//超级大型的浮点数据,提供高精度运算,BigDecimal
/*
* BigDecimal — + *运算
*/
}
public static void function() {
BigDecimal b1=new BigDecimal(“0.09”);
BigDecimal b2=new BigDecimal(“0.01”);
//计算b1+b2的和,调用方法add
BigDecimal bigAdd=b1.add(b2);
System.out.println(bigAdd);//0.10

//计算b3-b4的差,调用方法subtract
BigDecimal b3=new BigDecimal("1");
BigDecimal b4=new BigDecimal("0.32");
BigDecimal bigSub=b3.subtract(b4);
System.out.println(bigSub);//0.68
//计算b5*b6的差,调用方法multiply
BigDecimal b5=new BigDecimal("1.015");
BigDecimal b6=new BigDecimal("100");
BigDecimal bigMul=b5.multiply(b6);
System.out.println(bigMul);//101.500

}
public static void function_1() {
BigDecimal b1=new BigDecimal(“1.301”);
BigDecimal b2=new BigDecimal(“100”);
//计算b1/b2的商,调用方法divied
//divide(BigDecimal divisor ,int scale,int roundingmode)
//int scale 保留几位小数
//int roundingmode 保留模式
//static int ROUND_DOWN 直接舍去规定位位之后 static int ROUND_UP 直接加一
//static int ROUND_HALF_UP 四舍五入 static int ROUND_HALF_DOWN

BigDecimal Div=b1.divide(b2,2,BigDecimal.ROUND_DOWN);
System.out.println(Div);//0.01

}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值