java 浮點型數據做加減乘除

今天做的項目中有個1-0.9的操作,我期望的結果是0.1,但是用double或者float相減都得到是0.1000024類似於這樣的數字,於是就在網上找了資料,解決了,就自己總結了一下:

BigDecimal可以將int,long,double,string一些類型的數據直接轉型

BigDecimal num1= new BigDecimal("1"); 
BigDecimal num2= new BigDecimal("0.9"); 
//減法subtract()
BigDecimal  num3=num1.subtract(num2);
//加法 add()
BigDecimal  num4=num1.add(num2);
//乘法 multiply()
BigDecimal  num5=num1.multiply(num2);
//除法 div()
BigDecimal  num6=num1.divide(num2);
//將BigDecimal  類型轉成double
double dou=num6.doubleValue();
//小數點取2位
String we = num6.setScale(2,BigDecimal.ROUND_HALF_UP).toString();





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章