BigDecimal的使用
- 位置:java.math包中
- 作用:精确计算浮点数。
- 创建方式:BigDecimal bd=new BigDecimal(“1.0”);
- 方法:
- BigDecimal add(BigDecimal bd) 加
- BigDecimal subtract(BigDecimal bd) 减
- BigDecimal mutiply(BigDecimal bd) 乘
- BigDecimal divide(BigDecimal bd) 除
public class Test03 {
public static void main(String[] args) {
double d=1.0;
double d1=0.9;
System.out.println(d-d1);
//面试题
double result =(1.4-0.5)/0.9;
System.out.println(result);
}
}
结果为:
java中的double在存储中存储的是近似值不是精确值,这里有误差,当在银行工作是,我们需要更高的精确值,可以使用BigDecimal类
举例:
package hai.bok.strclass;
import java.math.BigDecimal;
public class Test03 {
public static void main(String[] args) {
double d=1.0;
double d1=0.9;
System.out.println(d-d1);
//面试题
double result =(1.4-0.5)/0.9;
System.out.println(result);//有误差
//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);
}
}