码迷,mamicode.com
首页 > 其他好文 > 详细

ava Double: 四舍五入并设置小数点位数

时间:2016-06-11 15:57:15      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

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  

 个人建议第二种

ava Double: 四舍五入并设置小数点位数

标签:

原文地址:http://www.cnblogs.com/toSeeMyDream/p/5575345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!