BigDecimal的使⽤(初始化,赋值,⽐⼤⼩)
1.为什么要使⽤BigDecimal
float和double不适合进⾏货币计算,原因在于我们的计算机是⼆进制的。浮点数没有办法是⽤⼆进制进⾏精确表⽰。
2.使⽤⽅法
2.1.1初始化
BigDecimal b2 =new BigDecimal("0");
BigDecimal b2 = BigDecimal.ZERO;
2.1.2 赋值
BigDecimal b2 =new BigDecimal("100");
注:必须要⽤string类型赋值,⽽不能⽤float和double.
2.2⽐较⼤⼩
if(apareTo(b)==-1){
System.out.println("a⼩于b");
}
if(apareTo(b)==0){
System.out.println("a等于b");
}
if(apareTo(b)==1){
System.out.println("a⼤于b");
}
bigdecimal除法保留小数if(apareTo(b)>-1){
System.out.println("a⼤于等于b");
}
if(apareTo(b)<1){
System.out.println("a⼩于等于b");
}
2.3加减乘除
2.3.1加
BigDecimal b1 =new BigDecimal(v1);
BigDecimal b2 =new BigDecimal(v2);
b1.add(b2);
2.3.2减
BigDecimal b1 =new BigDecimal(v1);
BigDecimal b2 =new BigDecimal(v2);
b1.subtract(b2);
2.3.3乘
BigDecimal b1 =new BigDecimal(v1);
BigDecimal b2 =new BigDecimal(v2);
b1.subtract(b2);
2.3.4除
BigDecimal b1 =new BigDecimal(v1);
BigDecimal b2 =new BigDecimal(v2);
divide(b2,scale,BigDecimal.ROUND_HALF_UP);
注:除数不能⼩于0.
2.4保留⼩数
例保留两位⼩数:
BigDecimal s = ArithUtil.div(“20”,"100",2);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论