- BigDecimal介紹(來自百度百科)
- Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變量double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。float和double只能用來做科學計算或者是工程計算,在商業計算中要用java.math.BigDecimal。BigDecimal所創建的是對象,我們不能使用傳統的+、-、*、/等算術運算符直接對其對象進行數學運算,而必須調用其相對應的方法。方法中的參數也必須是BigDecimal的對象。構造器是類的特殊方法,專門用來創建對象,特別是帶有參數的對象。
BigDecimal bd1 = new BigDecimal("100"); BigDecimal bd2 = new BigDecimal("50"); BigDecimal bd3 = null; //加法 bd3 = bd1.add(bd2); System.out.println("和 是:" +bd3); //減法 bd3 = bd1.subtract(bd2); System.out.println("差 是:" + bd3); //乘法 bd3 = bd1.multiply(bd2); System.out.println("積 是:" + bd3); //除法 bd3 = bd1.divide(bd2); System.out.println("商 是:" + bd3);
- Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。雙精度浮點型變量double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。float和double只能用來做科學計算或者是工程計算,在商業計算中要用java.math.BigDecimal。BigDecimal所創建的是對象,我們不能使用傳統的+、-、*、/等算術運算符直接對其對象進行數學運算,而必須調用其相對應的方法。方法中的參數也必須是BigDecimal的對象。構造器是類的特殊方法,專門用來創建對象,特別是帶有參數的對象。
- NumberFormat格式化以及例子(來自百度百科)
- 由於NumberFormat類的format()方法可以使用BigDecimal對象作爲其參數,可以利用BigDecimal對超出16位有效數字的貨幣值,百分值,以及一般數值進行格式化控制。 以利用BigDecimal對貨幣和百分比格式化爲例。首先,創建BigDecimal對象,進行BigDecimal的算術運算後,分別建立對貨幣和百分比格式化的引用,最後利用BigDecimal對象作爲format()方法的參數,輸出其格式化的貨幣值和百分比.
BigDecimal bigLoanAmount = new BigDecimal("具體數值"); //創建BigDecimal對象 BigDecimal bigInterestRate = new BigDecimal("具體數值"); BigDecimal bigInterest = bigLoanAmount.multiply(bigInterestRate); //BigDecimal運算 NumberFormat currency = NumberFormat.getCurrencyInstance(); //建立貨幣格式化引用 NumberFormat percent = NumberFormat.getPercentInstance(); //建立百分比格式化用 percent.setMaximumFractionDigits(3); //百分比小數點最多3位 //利用BigDecimal對象作爲參數在format()中調用貨幣和百分比格式化 System.out.println("Loan amount:\t" + currency.format(bigLoanAmount)); System.out.println("Interest rate:\t" + percent.format(bigInterestRate)); System.out.println("Interest:\t" + currency.format(bigInterest)); Loan amount: ¥129,876,534,219,876,523.12 Interest rate: 8.765% Interest: ¥11,384,239,549,149,661.69 常見用法: 初始化 BigDecimal a= new BigDecimal("1.35"); 對數值取值: 1.a.setScale(1,BigDecimal.ROUND_DOWN); 取一位小數,直接刪除後面多餘位數,故取值1.3. 2.a.setScale(1,BigDecimal.ROUND_UP); 取一位小數,刪除後面位數,進一位,故取值1.4. 3.a.setScale(1,BigDecimal.ROUND_HALF_UP); 取一位小數,四捨五入,故取值1.4. 4.a.setScale(1,BigDecimal.ROUND_HALF_DOWN); 取一位小數,五舍六入,故取值1.3.
- 由於NumberFormat類的format()方法可以使用BigDecimal對象作爲其參數,可以利用BigDecimal對超出16位有效數字的貨幣值,百分值,以及一般數值進行格式化控制。 以利用BigDecimal對貨幣和百分比格式化爲例。首先,創建BigDecimal對象,進行BigDecimal的算術運算後,分別建立對貨幣和百分比格式化的引用,最後利用BigDecimal對象作爲format()方法的參數,輸出其格式化的貨幣值和百分比.
BigDecimal 加減乘除及對比
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.