1. 程式人生 > >函式 toPlainString() 和 toString()區別

函式 toPlainString() 和 toString()區別

函式 toPlainString() 和 toString()

對於 BigDecimal b ; (b=(0.4321)^ 20) 
String s = b.toPlainString() ; 
System.out.println(s) ; 
輸出為: 
0.00000005148554641076956121994511276767154838481760200726351203835429763013462401

若String s = b.toString() ; 
輸出為: 
5.148554641076956121994511276767154838481760200726351203835429763013462401E-8

在得到的小數,要對其小數點後面的零進行處理,用到:BigDecimal stripTrailingZeros() 返回數值上等於此小數,但從該表示形式移除所有尾部零的 BigDecimal。

對得到的資料用科學計數法就用:String toPlainString() 返回不帶指數字段的此 BigDecimal 的字串表示形式。通俗來講就是直接顯示,不用科學計數法表示。


import java.math.BigDecimal;
public class BigDecimalDemo {
    public static void main(String[] args) {
        BigDecimal bg = new BigDecimal("1E11");
        System.out.println(bg.toEngineeringString());
        System.out.println(bg.toPlainString());
        System.out.println(bg.toString());
    }
}

輸出
 100E+9
 100000000000
 1E+11