一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

java四舍五入float保留两位小数

时间:2015-06-18 编辑:简简单单 来源:一聚教程网

例子1

float   f   =  34.237323f; 
BigDecimal   b  =   new BigDecimal(f); 
float   f1   =  b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue(); 
System.out.println(f1);

方法2:

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

方法3:

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


方式4:

double d = 3.1415926;

String result = String .format(”%.2f”);

%.2f %. 表示 小数点前任意位数   2 表示两位小数 格式后的结果为f 表示浮点型。

方式5:

此外如果使用struts标签做输出的话,有个format属性,设置为format="0.00"就是保留两位小数

例如:


方法6:

public static void main(String[] args) {
  // 1. 先乘后四舍五入, 再除;
  double d = 62.31060027198647;

  double d2 = Math.round(d*100)/100.0;
  System.out.println("通过Math取整后做除法: " + d2);

  // 2. 通过BigDecimal的setScale()实现四舍五入与小数点位数确定, 将转换为一个BigDecimal对象.
  BigDecimal bd = new BigDecimal(d);
  BigDecimal bd2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
  System.out.println("通过BigDecimal.setScale获得: " + bd2);

  // 3. 通过DecimalFormat.format返回String的
  DecimalFormat df = new DecimalFormat("#.##");
  System.out.println("通过DecimalFormat.format获得: " + df.format(d));

  // 4. 通过String.format
  System.out.println("通过StringFormat: " + String.format("%.2f", d));
 }

// 通过Math取整后做除法: 62.31
// 通过BigDecimal.setScale获得: 62.31
// 通过DecimalFormat.format获得: 62.31
// 通过StringFormat: 62.31

热门栏目