java 如何使的float保留2位或者多位小数 (转载)

时间:2022-05-22 04:33:55

转载自 http://blog.csdn.net/com_stu_zhang/article/details/7214565

方法1:

float   f   =  34.232323;  
  BigDecimal   b  =   new  BigDecimal(f);  
  float   f1   =  b.setScale(2,  BigDecimal.ROUND_HALF_UP).floatValue();  
  //   b.setScale(2,  BigDecimal.ROUND_HALF_UP)  表明四舍五入,保留两位小数

  1. float ft   =  134.3435f;
  2. int   scale  =   2;//设置位数
  3. int   roundingMode  =  4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等.
  4. BigDecimal   bd  =   new  BigDecimal((double)ft);
  5. bd   =  bd.setScale(scale,roundingMode);
  6. ft   =  bd.floatValue();

方法2:

import  java.text.DecimalFormat;       
String   a   =  new  DecimalFormat("###,###,###.##").format(100.12345  );

  1. float   scale  =   34.236323;
  2. DecimalFormat   fnum  =   new  DecimalFormat("##0.00");
  3. String   dd=fnum.format(scale);
  4. ystem.out.println(dd);

方法3:最简单的方法

    1. float   a  =   123.2334f;
    2. float  b   =  (float)(Math.round(a*100))/100;(这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000)