位置:首頁 > Java技術 > Java.math包 > Java.math.BigDecimal.toString()方法實例

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