如果我生成一个float类型的随机数,但生成出来的都是标准位数的float格式(小数位很多的那种),如果我想生成出来的float类型只保留特定位数的小数(假如只保留2位),用format类该怎么实现呢?

解决方案 »

  1.   

    四舍五入  
    double  f  =  111231.5585;  
    BigDecimal  b  =  new  BigDecimal(f);  
    double  f1  =  b.setScale(2,  BigDecimal.ROUND_HALF_UP).doubleValue();  保留两位小数  
    java.text.DecimalFormat  df  =new  java.text.DecimalFormat("#.00");  
    df.format(float  param);
      

  2.   

    double x=1000.0/3.0
    NumberFormat formatter=NumberFormat .getNumberInstance();
    formatter.setMaximumFractionDigits(2);
    String s=formatter.format(x);
      

  3.   

    还有这个不叫format类,是java.text.NumberFormat
      

  4.   

    float f=121256.131231F;
    DecimalFormat   df  =new  DecimalFormat("#.00");  
    String s=df.format(f);
    System.out.print(s);