第九周(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 }
运行结果: