123.85後面如果是85就不能四舍五入,請問為什麽.謝謝.

解决方案 »

  1.   

    123.05,123.35,123.55,123.85這樣都不能四舍五入.怎樣修改.謝謝.
      

  2.   

    我的修改好啦,顺便给大家看一下,总觉运行好慢.请问有没有不用bigdecimal的?
    下面的修改要读字符的,超慢,请大虾们帮帮忙,给我意见.谢谢. public static String formatNumber(double dnum)

            Double aa = new Double(dnum);
            String ab = aa.toString();
            int i=(ab.indexOf("."));
                String ba = ab.substring(i);
             double d = new BigDecimal(dnum).setScale(1,Pattern.matches(".[0,3,5,8]5",".85")?BigDecimal.ROUND_UP:BigDecimal.ROUND_HALF_UP).doubleValue();
    String s = new DecimalFormat("#.00").format(d);
          return s;
    }