double db = 34.232323;
BigDecimal b = new BigDecimal(db);
double db2 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();// b.setScale(2, BigDecimal.ROUND_HALF_UP) 表明四舍五入,保留两位小数

解决方案 »

  1.   

    import java.text.NumberFormat;
    /**
    *@param d :要做处理的浮点数
    *@param floatDigit :指定保留的小数位数
    */
    public static String dblToStr(double d,int floatDigit){
          NumberFormat numberFormat = NumberFormat.getInstance();
          numberFormat.setMaximumFractionDigits(floatDigit);      String str=numberFormat.format(d);
          String str2="";
          int i=0;
          while((i>=0)&&str.length()>0)
          {
            i=str.indexOf(",");
            if(i==-1)
            {
              str2+=str;
              break;
            }
            else
            {
              str2+=str.substring(0,i);
              str=str.substring(i+1,str.length());
            }
          }
          return str2;
    }