BigDecimal
是Java中的一个类,位于java.math
包中,它提供了任意精度的有符号十进制数字的表示,以及对这些数字进行算术运算的方法
BigDecimal的主要用途包括:
1.金融计算:金融领域对数值的精度要求非常高,使用BigDecimal可以避免浮点数计算带来的精度损失。
2.科学计算:在科学计算中,往往需要处理大量的高精度数据,BigDecimal可以满足这种需求。
精确的小数运算:当需要精确控制小数位数和舍入方式时,BigDecimal是一个很好的选择。
BigDecimal比较大小,涉及到int类型比较时需注意,需使用compareTo方法。
BigDecimal声明,由于BigDecimal是一个类,需要new一个对象,并以字符串方式声明:
BigDecimal num1= new BigDecimal("123.456");int num2=123;num1.compareTo(new BigDecimal(num2))==1
当num1比num2大时,返回1,num1等于num2时返回0,num1小于num2时返回-1,
附:常用方法:
- add(BigDecimal augend):加法运算
- subtract(BigDecimal subtrahend):减法运算
- multiply(BigDecimal multiplicand):乘法运算
- divide(BigDecimal divisor, int scale, RoundingMode roundingMode):除法运算,可以指定小数位数和舍入方式
- setScale(int newScale, RoundingMode roundingMode):设置小数位数和舍入方式
- compareTo(BigDecimal val):比较两个BigDecimal的大小
- toString():将BigDecimal转换为字符串