位置:java.math包中
作用:精確計算浮點數
創建方式:BigDecimal bd=new BigDecimal("1.0");
注意:使用的時候選擇字符串
方法:
BigDecimal add(BigDecimal bd) 加法
BigDecimal subtract(BigDecimal bd) 減法
BigDecimal multiply(BigDecimal bd )乘法
BigDecimal divide(BigDecimal bd)除法
public class Demo01 {
public static void main(String[] args) {
double d1=1.0;
double d2=0.9;
System.out.println(d1-d2);
//面試題;下面 result輸出的結果為多少
double result=(1.4-0.5)/0.9;
System.out.println(result);
System.out.println("==========正確示范===========");
// 正確解決方案:
BigDecimal bd1=new BigDecimal("1");
BigDecimal bd2=new BigDecimal("0.9");
//注意:類運算時需要調用方法;本次用subtract方法做減法
BigDecimal r1=bd1.subtract(bd2);
System.out.println(r1);
//加法 add
BigDecimal r2=bd1.add(bd2);
System.out.println(r2);
//乘法 multiply
BigDecimal r3= bd1.multiply(bd2);
System.out.println(r3);
//除法
//面試題(1.4-0.5)/0.9=1;用BigDecimal方法實現
BigDecimal r4=new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9"));
System.out.println(r4);
//10除以3題目; divide方法里面的int scale方法決定保留幾位小數;BigDecimal里面的常量ROUND_HALF_UP來四舍五入。
BigDecimal r5=new BigDecimal("10").divide( new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);
System.out.println(r5);
BigDecimal r6=new BigDecimal("20").divide( new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);
System.out.println(r6);
}
}
浙公網安備 33010602011771號