第九周(11.11-11.17)----結對專案----實現保留一位小數

YangXiaomoo發表於2016-11-16

  兩個int型的數相除,結果保留小數點後兩位,利用Math.round()的方法。round這個方法是將數進行"四捨五入"。

  例如:
    int a=4567;
    int b=117;  //4567/117=39.034188
    double c;
    c=(double)(Math.round(a/b)/10.0);  //這樣可以將結果轉換為小數點後只有兩位的形式

    結果是 c=3.9
  round方法對39.034188進行了四捨五入,通過/10.0將原結果縮小10倍並轉換成只有一位的小數。

  另外一種方法如下:

    double f = 111231.5585; 

    BigDecimal b = new BigDecimal(f);
    double f1 = b.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
    System.out.println(f1);

    結果是:111231.55

  我採用了第一種方法,將原來count方法改成了countf方法,這樣計算結果可保留一位小數。程式碼如下:

 1     public float countf(String a, String b, String e) {  
 2             float temp1 = Float.parseFloat(a);  
 3             float temp2 = Float.parseFloat(b); 
 4  
 5             if ("+".equals(e)) {  
 6                 return (float)(Math.round((temp1+temp2)*10.0)/10.0);  
 7             } else if ("-".equals(e)) {  
 8                 return (float)(Math.round((temp1-temp2)*10.0)/10.0);  
 9             } else if("*".equals(e)) {  
10                 return (float)(Math.round(temp1*temp2*10.0)/10.0);  
11             } else if(temp2==0){
12                     return chushu = 0;//除數為零的標誌
13             } else
14             {
15                     return (float)(Math.round(temp1/temp2*10.0)/10.0);
16              }
17          }  

執行結果:

 

相關文章