BigDecimal的用法詳解(保留兩位小數,四舍五入,數字格式化,科學計數法轉數字,數字里的逗號處理)


一、簡介

    Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變量double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。float和double只能用來做科學計算或者是工程計算,在商業計算中要用java.math.BigDecimal。BigDecimal所創建的是對象,我們不能使用傳統的+、-、*、/等算術運算符直接對其對象進行數學運算,而必須調用其相對應的方法。方法中的參數也必須是BigDecimal的對象。構造器是類的特殊方法,專門用來創建對象,特別是帶有參數的對象。

二、構造器描述

BigDecimal(int)       創建一個具有參數所指定整數值的對象。
BigDecimal(double) 創建一個具有參數所指定雙精度值的對象。
BigDecimal(long)    創建一個具有參數所指定長整數值的對象。
BigDecimal(String) 創建一個具有參數所指定以字符串表示的數值的對象。

三、方法描述

add(BigDecimal)        BigDecimal對象中的值相加,然后返回這個對象。
subtract(BigDecimal) BigDecimal對象中的值相減,然后返回這個對象。
multiply(BigDecimal)  BigDecimal對象中的值相乘,然后返回這個對象。
divide(BigDecimal)     BigDecimal對象中的值相除,然后返回這個對象。
toString()                將BigDecimal對象的數值轉換成字符串。
doubleValue()          將BigDecimal對象中的值以雙精度數返回。
floatValue()             將BigDecimal對象中的值以單精度數返回。
longValue()             將BigDecimal對象中的值以長整數返回。
intValue()               將BigDecimal對象中的值以整數返回。

四、常用方法

4.1、保留兩位小數

  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. }  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM