BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)

  1. /** 
  2.  * 保留两位小数 
  3.  */  
  4. @org.junit.Test  
  5. public void formatTest() {  
  6.     double num=13.154215;  
  7.   
  8.     //方式一  
  9.     DecimalFormat df1 = new DecimalFormat("0.00");  
  10.     String str = df1.format(num);  
  11.     System.out.println(str);  //13.15  
  12.   
  13.     //方式二  
  14.     // #.00 表示两位小数 #.0000四位小数  
  15.     DecimalFormat df2 =new DecimalFormat("#.00");  
  16.     String str2 =df2.format(num);  
  17.     System.out.println(str2);  //13.15  
  18.   
  19.     //方式三  
  20.     //%.2f %. 表示 小数点前任意位数   2 表示两位小数 格式后的结果为f 表示浮点型  
  21.     String result = String.format("%.2f", num);  
  22.     System.out.println(result);  //13.15  
  23. }  
  1. /** 
  2.  * 保留两位小数 
  3.  */  
  4. @org.junit.Test  
  5. public void formatTest() {  
  6.     double num=13.154215;  
  7.   
  8.     //方式一  
  9.     DecimalFormat df1 = new DecimalFormat("0.00");  
  10.     String str = df1.format(num);  
  11.     System.out.println(str);  //13.15  
  12.   
  13.     //方式二  
  14.     // #.00 表示两位小数 #.0000四位小数  
  15.     DecimalFormat df2 =new DecimalFormat("#.00");  
  16.     String str2 =df2.format(num);  
  17.     System.out.println(str2);  //13.15  
  18.   
  19.     //方式三  
  20.     //%.2f %. 表示 小数点前任意位数   2 表示两位小数 格式后的结果为f 表示浮点型  
  21.     String result = String.format("%.2f", num);  
  22.     System.out.println(result);  //13.15  
  23. }  







  1.  @Test  
  2.     public void test1() { //4.1541483776749997E9  
  3.         double a = 4887233385.5;  
  4.         double b = 0.85;  
  5.           
  6.         System.out.println("result1-->"+a*b);  // result1-->4.1541483776749997E9  
  7.           
  8.         BigDecimal a1 = new BigDecimal(a);  
  9.         BigDecimal b1 = new BigDecimal(b);  
  10.           
  11.         System.out.println("result2-->"+a1.multiply(b1));//result2-->4154148377.674999891481619无限不循环  
  12.           
  13.         BigDecimal aBigDecimal = new BigDecimal(String.valueOf(a));  
  14.         BigDecimal bBigDecimal = new BigDecimal(String.valueOf(b));  
  15.           
  16.         // 或者下面这种写法  
  17. //      BigDecimal aBigDecimal = new BigDecimal(Double.toString(a));  
  18. //      BigDecimal bBigDecimal = new BigDecimal(Double.toString(b));  
  19.       
  20.         System.out.println("result3-->"+aBigDecimal.multiply(bBigDecimal)); //result3-->4154148377.675  
  21.   
  22.     }  






  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值