转角遇到坑

    今天小猿在写代码又遇到坑,其实也怪自己太自信,太想当然,导致犯了一个低级的错误,踩了一个小坑。诶,菜没办法,记录一下,警示自己,也希望能够帮助到大家。

    起因:

      在算项目里面的服药占比时,百分比总是为0。代码如下

 DecimalFormat df = new DecimalFormat("#.0");
 df.setRoundingMode(RoundingMode.HALF_UP);
 return Double.parseDouble(df.format((takedTimes / (takedTimes + unTakedTimes))*100));

       很明显int/int类型自然转为0,所以将其中一个转为double。代码如下

 DecimalFormat df = new DecimalFormat("#.0");
 df.setRoundingMode(RoundingMode.HALF_UP);
 return Double.parseDouble(df.format((takedTimes / (double)(takedTimes + unTakedTimes))*100));
     

   总结:

    在做计算时要小心,注意类型的转换,不要太想当然,犯低级的错误。

你可能感兴趣的:(工作总结)