Java.math.BigDecimal.toString()方法實例
java.math.BigDecimal.toString() 返回此BigDecimal的字符串表示形式,用科學記數法,如果需要指數。
BigDecimal的標準規範字符串形式創建,就好像通過以下步驟:第一,BigDecimal的非標度值的絕對值用字符'0'到'9',沒有被轉換爲一個字符串基地10零(除非它的值是零,在這種情況下,一個單一的'0'字符被使用)。
接下來,計算調整的指數;這是無效的標度,加上字符的轉換的標度值,減1的次數。也就是說,-scale+(ulength-1),其中ulength是十進制數字(其精度)的非標度值的絕對值的長度。
如果該比例大於或等於零,並且調整的指數大於或等於-6,該號碼將被轉換爲字符的形式,而無需使用指數表示法。
在這種情況下,如果該比例是零,則沒有小數點被添加和如果規模正小數點將被插入的規模指定的字符數的小數點的右邊。 '0'字符添加到轉換的非標度值的左側是必要的。如果前面沒有字符,小數點這個插入之後再傳統的'0'字符作爲前綴。
否則(即,如果該比例是負的,或經調整的指數小於-6),該號碼將被採用指數表示法轉換爲字符形式。在這種情況下,如果轉換後的BigInteger有一個以上的位小數點第一位數字後插入。
在字符形式的指數,然後後綴轉換非標度值(也許插入小數點);這包含字母「E」後面立刻被調整的指數轉換爲字符形式。
後者的基數爲十,使用字符'0'到'9',沒有前導零,並且總是由前綴符號字符' - '(' u002D'),如果調整後的指數爲負數,否則爲'+'(' u002B')。
' - '最後,整個字符串由一個減號字符的前綴(' u002D')如果非標度值小於零。如果非標度值爲零或正數無符號字符作爲前綴。
聲明
以下是java.math.BigDecimal.toString()方法的聲明
public String toString()
重寫
- toString in class Object
參數
- NA
返回值
此方法返回BigDecimal的字符串表示形式
異常
- NA
例子
下面的例子顯示math.BigDecimal.toString()方法的用法
package com.yiibai; import java.math.*; public class BigDecimalDemo { public static void main(String[] args) { // create a BigDecimal object BigDecimal bg; // create a String object String s; MathContext mc = new MathContext(3); // 3 precision bg = new BigDecimal("1234E4", mc); // assign the string value of bg to s s = bg.toString(); String str = "String value of " + bg + " is " + s; // print s value System.out.println( str ); } }
讓我們編譯和運行上面的程序,這將產生以下結果:
String value of 1.23E+7 is 1.23E+7