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