我们都知道,float和double在计算过程中会存在误差,如何避免使用浮点数失去精度?这里可以使用Java的Java.math包中提供的API类——BigDecimal。
BigDecimal是一个类,BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。
如何创建BigDecimal对象
创建BigDecimal有以下两种方式:
import java.math.BigDecimal;//先导入java.math包
BigDecimal bigDecimal1 = new BigDecimal("1.234567");//要带双引号,里面的参数是字符串类型,不带双引号会损失精度。
BigDecimal bigDecimal2 = BigDecimal.valueOf(1.234567);//参数为double,不必带双引号。
除了上述的两种方式以外,对于特殊的0,1,10,还可以用一下方式创建:
BigDecimal bigDecimal3 = BigDecimal.ZERO;//0
BigDecimal bigDecimal4 = BigDecimal.ONE;//1
BigDecimal bigDecimal5 = BigDecimal.TEN;//10
加减乘除运算
public BigDecimal add(BigDecimal value);//加法
public