BigDecimal
-
BigDecimal是一个精度更高的一个类。
-
位置:
java.math
包中。 -
作用:精确计算浮点数。
-
创建方式:
BigDecimal bd = new BigDecimal("1.0");
-
方法:
BigDecimal add(BigDecimal bd);
加BigDecimal subtract(BigDecimal bd);
减BigDecimal multiply(BigDecimal bd);
乘BigDecimal divide(BigDecimal bd);
除divide(BigDecimal bd,int scal,RoundingMode mode)
scal
参数:指定精确到小数点后几位mode
参数:指定小数部分的取舍模式,通常采用四舍五入的模式(BigDecimal.ROUND_HALF_UP
)。
案例:
public static void main(String[] args) { //BigDecimal大的浮点数精确计算 BigDecimal bd1 = new BigDecimal("1.0"); BigDecimal bd2 = new BigDecimal("0.9"); //减法 BigDecimal r1 = bd1.subtract(bd2); System.out.println(r1); //加法 BigDecimal r2 = bd1.add(bd2); System.out.println(r2); //乘法 BigDecimal r3 = bd1.multiply(bd2); System.out.println(r3); //除法 BigDecimal r4 = new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9")); System.out.println(r4); BigDecimal r5 = new BigDecimal("20").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);//保留2位小数,四舍五入方式保留。 System.out.println(r5); } }
运行结果: