
1、BigDecimal在做加、减、乘时,精度不会丢失,但是做除法时,存在无法除尽的情况,这时就必须指定精度以及如何进行截断。
importjava.math.BigDecimal;
importjava.math.RoundingMode;
publicclassDemo{
publicstaticvoidmain(String[]args){
BigDecimald1=newBigDecimal("123.456");
BigDecimald2=newBigDecimal("23.456789");
BigDecimald3=d1.divide(d2,10,RoundingMode.HALF_UP);//保留10位小数并四舍五入
BigDecimald4=d1.divide(d2);//报错:ArithmeticException,因为除不尽
}
}
2、可以对BigDecimal做除法的同时求其余数。
importjava.math.BigDecimal;
publicclassDemo{
publicstaticvoidmain(String[]args){
BigDecimaln=newBigDecimal("22.444");
BigDecimalm=newBigDecimal("0.23");
BigDecimal[]dr=n.divideAndRemainder(m);
System.out.println(dr[0]);//97.0
System.out.println(dr[1]);//0.134
}
}
以上就是java中BigDecimal的数学运算使用,希望对大家有所帮助。更多Java学习指路:Java基础
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















































暂无评论内容