第九周(11.11-11.17)----结对项目----实现保留一位小数

  两个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          }  

运行结果:

 

posted @ 2016-11-16 21:09  YangXiaomoo  阅读(245)  评论(1编辑  收藏  举报