我有数值需要乘除并且结果四舍五入保留两位小数,
如果能整除,如结果等于2.4则要求显示结果为2.40我现在用的是下面的方法---
float mnyResult=float(12/5);
mnyResult=Math.round(money*100);
mnyResult/=100;这个方法四舍五入可以,但不能保证小数点后若只有一位,则补0
如2.4 变成 2.40--------------------
有没有什么好的方法呀 ???

解决方案 »

  1.   

    int roundingMode = 4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等.BigDecimal bd = new BigDecimal((double)mnyResult); bd = bd.setScale(2,roundingMode); mnyResult = bd.floatValue(); 
      

  2.   

    我记得好像math里面有一个很简单的方法的但是没有查到暂时
      

  3.   

    System.out.printf("%.2f", mnyResult);不过这只适用于输出,对于这个数本身还是不变的,否则还是用ls所说的BigDecimal吧
      

  4.   

    String .format("%.2f",float)//这个好用