代码改变世界

java 如何使的float保留2位或者多位小数

2017-02-07 17:48  faunjoe88  阅读(30580)  评论(1编辑  收藏  举报

方法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)  表明四舍五入,保留两位小数  

  float ft   =  134.3435f;  

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

 

方法2:  

 

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

  float   scale  =   34.236323; 
  DecimalFormat   fnum  =   new  DecimalFormat("##0.00");  
  String   dd=fnum.format(scale);     
 System.out.println(dd);  

方法3:最简单的方法

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