精品国产亚洲一区二区三区,男女作爱在线观看免费网站,欧美的又大又长做禁片A片,97国产精品人妻无码久久久

您現(xiàn)在的位置: > 技術沙龍 > 程序設計 > Java > JDK API 參考 > java.math > 類(Class) > BigDecimal
  • 相關軟件
    >BigDecimal 創(chuàng)建者:webmaster 更新時間:2005-12-17 03:35


    不可變的、任意精度的帶符號的十進制數(shù)。 一個 BigDecimal
    由一個任意精度的整數(shù)值和一個非負的整數(shù)標度組成,整數(shù)標度代表小數(shù)點右邊的十進制數(shù)字的個數(shù)(用 BigDecimal 表示的數(shù)值大小是
    intVal/10**scale)。 BigDecimals 提供基本的算術操作、精度處理、比較、格式轉換和散列。

    BigDecimal 類使它的用戶對舍入行為有完全的控制權,迫使用戶顯式地指定能夠舍棄部分精度(
    (除法 和 setScale))的舍入操作的舍入行為。為達到該目的,該類提供了八個
    舍入模式 。同時針對
    BigDecimal 的精度操作提供了兩種類型的操作:數(shù)值調整/舍入
    (scaling/rounding)操作和小數(shù)點移動操作。Scaling/Rounding 操作 (SetScale) 返回一個 BigDecimal,其數(shù)值近似 (或精確) 等于操作數(shù),其有效范圍是指定的值;也就是說,它們以對數(shù)值產生最小影響的方式增加或減少精度。十進制小數(shù)點移動操作 (movePointLeft 和 movePointRight)返回一個 BigDecimal ,它是把操作數(shù)的小數(shù)點在指定方向移動一個指定距離產生的;這種操作可以改變一個數(shù)字的值但不影響它的精度。


    類 java.math.BigDecimal



    java.lang.Object
      |
      +----java.lang.Number
          |
          +----java.math.BigDecimal




    public class BigDecimal
    extends Number




     
    參見:
     
    BigInteger





    變量索引



    ROUND_CEILING
    如果 BigDecimal 是正的,則做 ROUND_UP 操作;如果為負,則做 ROUND_DOWN 操作。
    ROUND_DOWN
    從不在舍棄(即截斷)的小數(shù)之前增加數(shù)字。
    ROUND_FLOOR
    如果 BigDecimal 為正,則作 ROUND_UP ;如果為負,則作 ROUND_DOWN 。
    ROUND_HALF_DOWN
    若舍棄部分> .5,則作 ROUND_UP;否則,作 ROUND_DOWN 。
    ROUND_HALF_EVEN
    如果舍棄部分左邊的數(shù)字為奇數(shù),則作 ROUND_HALF_UP ;如果它為偶數(shù),則作 ROUND_HALF_DOWN 。
    ROUND_HALF_UP
    若舍棄部分>=.5,則作 ROUND_UP ;否則,作 ROUND_DOWN 。
    ROUND_UNNECESSARY
    該“偽舍入模式”實際是指明所要求的操作必須是精確的,,因此不需要舍入操作。
    ROUND_UP
    總是在非 0 舍棄小數(shù)(即截斷)之前增加數(shù)字。



    構造子索引



    BigDecimal(BigInteger)
    把一個 BigInteger 翻譯成 BigDecimal 。
    BigDecimal(BigInteger, int)
    把一個 BigInteger 和一個標度翻譯成 BigDecimal 。
    BigDecimal(double)
    把一個 double 型翻譯成 BigDecimal 。
    BigDecimal(String)
    從一個字符串構造 BigDecimal ,該字符串包含一個可選的減號,后面跟著一串零或十進制數(shù)字串,再后面是一個可選的小數(shù)部分,該小數(shù)部分包含一個小數(shù)點和一串零或十進制數(shù)字串。



    方法索引



    abs()
    返回一個 BigDecimal ,其值是該數(shù)的絕對值,其標度是 this.scale() 。
    add(BigDecimal)
    返回一個 BigDecimal ,其值是 (this + val),其標度是 MAX(this.scale(),val.scale) 。
    compareTo(BigDecimal)
    返回 -1、0 或 1,分別表示該數(shù)是小于、等于、或大于 val 。
    divide(BigDecimal, int)
    返回一個 BigDecimal ,其值是 (this/val),其標度是 this.scale() 。
    divide(BigDecimal, int, int)
    返回一個 BigDecimal ,其值是 (this / val),其標度是指定值 。
    doubleValue()
    把一個數(shù)字轉換為 double 型。
    equals(Object)
    如果 x 是一個等于該數(shù)字的 BigDecimal ,則返回 true。
    floatValue()
    把該數(shù)字轉換為 float 型。
    hashCode()
    計算該對象的散列碼。
    intValue()
    把該數(shù)字轉換為 int 值。
    longValue()
    把該數(shù)字轉換為 long 型。
    max(BigDecimal)
    返回 BigDecimal ,其值是 this 和 val 中的較大者。
    min(BigDecimal)
    返回 BigDecimal ,其值是 this 和 val 中的較小者。
    movePointLeft(int)
    返回一個 BigDecimal ,其值等于該數(shù)十進制小數(shù)點向左移動
    n 位后所得的值。
    movePointRight(int)
    把十進制小數(shù)點按指定數(shù)值向右移動相應位數(shù)。
    multiply(BigDecimal)
    返回一個 BigDecimal ,其值是 (this * val),其標度是 this.scale() + val.scale 。
    negate()
    返回一個 BigDecimal ,其值是 -1 * val ,其標度是 this.scale() 。
    scale()
    返回該數(shù)值的標度。
    setScale(int)
    返回一個 BigDecimal ,其標度是指定值,其數(shù)值精確等于該數(shù)字的值。
    setScale(int, int)
    返回一個 BigDecimal ,其標度是指定值,其整數(shù)值是該 BigDecimal 的整數(shù)部分被 10 的適當次冪(保持整個數(shù)值不變)乘或者除得到。
    signum()
    返回該數(shù)值的符號(即根據(jù)該數(shù)的值是正、零或負返回 -1 、
    0 或 1 )。
    subtract(BigDecimal)
    返回一個 BigDecimal ,其值是 (this - val),其標度是 MAX(this.scale(),val.scale) 。
    toBigInteger()
    把該數(shù)字轉換為 BigInteger 。
    toString()
    返回表示該數(shù)字的字符串。
    valueOf(long)
    按照給定的值和零標度返回一個 BigDecimal 。
    valueOf(long, int)
    返回一個 BigDecimal ,其值是 (val/10**scale)。




    變量



    ROUND_UP

    public static final int ROUND_UP


    總是在非零的舍棄小數(shù)(即截斷)之前增加數(shù)字。
    注意該舍入模式不減少量值。
    (從零開始舍入)




    ROUND_DOWN

    public static final int ROUND_DOWN


    從不在舍棄的小數(shù)(即截斷)之前增加數(shù)字。 注意該舍入模式不增加量值。 (舍入到零)




    ROUND_CEILING

    public static final int ROUND_CEILING


    如果 BigDecimal 為正,則作 ROUND_UP 操作;如果為負,則作 ROUND_DOWN 操作。注意該舍入模式不減少值。(舍入到正無窮大)




    ROUND_FLOOR

    public static final int ROUND_FLOOR


    如果 BigDecimal 為正,則作 ROUND_UP ;如果為負,則作 ROUND_DOWN 。注意該舍入模式不增加值。(舍入到負無窮大)




    ROUND_HALF_UP

    public static final int ROUND_HALF_UP


    若舍棄部分>=.5,則作 ROUND_UP ;否則,則作 ROUND_DOWN (舍入到 “最近的數(shù)值”,除非向上舍入和向下舍入的距離是相等的)。




    ROUND_HALF_DOWN

    public static final int ROUND_HALF_DOWN


    若舍棄部分> .5 ,則作 ROUND_DOWN;否則,作 ROUND_DOWN 操作(舍入到 “最近的數(shù)值”,除非向下舍入和向上舍入的距離相等)。




    ROUND_HALF_EVEN

    public static final int ROUND_HALF_EVEN


    如果舍棄部分左邊的數(shù)字為奇數(shù),則作 ROUND_HALF_UP 操作;如果它為偶數(shù),則作 ROUND_HALF_DOWN 操作(舍入到 “最近的數(shù)值”,除非向到兩邊的距離相等)。




    ROUND_UNNECESSARY

    public static final int ROUND_UNNECESSARY


    該 “偽舍入模式”實際是要求操作有一個精確結果,,因此不需要舍入。如果該舍入模式對一個指定的操作產生不精確的結果,則拋出算術異常。






    構造子




    BigDecimal

    public BigDecimal(String val) throws NumberFormatException


    從一個字符串構造 BigDecimal ,該字符串包含可選的減號,后面跟著一串零或十進制數(shù)字序列,再后面可能會跟著一個小數(shù)部分,該小數(shù)部分由一個小數(shù)點和一串零或一個十進制數(shù)字序列構成。字符串必須至少包含一個整數(shù)部分或一個小數(shù)部分。作為結果的 BigDecimal 標度將是字符串中十進制小數(shù)點右邊的數(shù)字,如果字符串中未包含十進制小數(shù)點則為零。字符到數(shù)字的映射是由 Character.digit 提供的。
    任何外部字符 (包括空白符) 將導致一個 NumberFormatException 異常。




    BigDecimal

    public BigDecimal(double val) throws NumberFormatException


    把一個 double 型翻譯成 BigDecimal 。BigDecimal
    的標度是使 10**scale * val 為一整數(shù)的最小數(shù)值。
    一個 double 值,若為負無窮、正無窮或 NaN 將導致一個
    NumberFormatException 異常。




    BigDecimal

    public BigDecimal(BigInteger val)


    把一個 BigInteger 翻譯成 BigDecimal 。 BigDecimal
    的標度為零。




    BigDecimal

    public BigDecimal(BigInteger val,int scale)
    throws NumberFormatException


    把一個 BigInteger 和一個標度翻譯成一個 BigDecimal 。
    BigDecimal 的值是 (BigInteger/10**scale) 。 負標度將導致一個
    NumberFormatException 異常。






    方法



    valueOf

    public static BigDecimal valueOf(long val, int scale)
    throws NumberFormatException


    返回一個 BigDecimal ,其值是 (val/10**scale) 。 該函數(shù)首選使用 (long) 構造子,因為它允許對 BigDecimals (如 0 和 1)的頻繁使用進行重用,從而消除了輸出常數(shù)時的這種需要。
    一個負標度將導致
    NumberFormatException 異常。




    valueOf

    public static BigDecimal valueOf(long val)


    用給定的值和零標度構造并返回一個 BigDecimal 。該函數(shù)首選使用 (long) 構造子,因為它允許對 BigDecimals (如 0 和 1)的頻繁使用進行重用,從而消除了輸出常數(shù)時的這種需要。




    add

    public BigDecimal add(BigDecimal val)


    返回一個 BigDecimal ,其值是 (this + val),其標度是 MAX(this.scale(),val.scale) 。




    subtract

    public BigDecimal subtract(BigDecimal val)


    返回一個 BigDecimal ,其值是 (this - val),其標度是 MAX(this.scale(),val.scale) 。




    multiply

    public BigDecimal multiply(BigDecimal val)


    返回一個 BigDecimal ,其值是 (this * val),其標度是 this.scale() + val.scale 。




    divide

    public BigDecimal divide(BigDecimal val,int scale,int roundingMode)
                throws ArithmeticException, IllegalArgumentException


    返回一個 BigDecimal ,其值是 (this / val),其標度是指定值。如果必須執(zhí)行舍入對給定的標度生成一個結果,則使用指定的舍入模式。如果 val == 0 ,scale <0 ,或舍入模式是 round_un necessary 并且指定的標度不足以表示除法結果的精確度時,拋出 arithmeticexception 異常;如果 roundingmode 不是有效的舍入模式,則拋出 illegalargumentexception 異常。


    divide

    public BigDecimal divide(BigDecimal val, int roundingMode)
    throws ArithmeticException, IllegalArgumentException


    返回一個 BigDecimal ,其值是 (this/val),其標度是 this.scale() 。 如果必須執(zhí)行舍入對給定的標度生成一個結果,則將使用指定的舍入模式。 如果 val == 0 ,則拋出
    ArithmeticException 異常。 如果 roundingMode 不是有效的舍入模式,則拋出 IlegalArgumentException 異常。




    abs

    public BigDecimal abs()


    返回一個 BigDecimal ,其值是該數(shù)字的絕對值,其標度是 this.scale() 。




    negate

    public BigDecimal negate()


    返回一個 BigDecimal ,其值是 -1 * val ,其標度是 this.scale()。




    signum

    public int signum()


    返回該數(shù)值的符號 (根據(jù)該數(shù)的值是正、零或負返回 -1 、 0 或 1 )。




    scale

    public int scale()


    返回該數(shù)字的標度。




    setScale

    public BigDecimal setScale(int scale,int roundingMode)
    throws ArithmeticException, IllegalArgumentException


    返回一個 BigDecimal ,其標度是指定值,其整數(shù)值是 BigDecimal 整數(shù)部分被 10 的適當次冪(保持整個數(shù)值不變)除或乘得到的。如果標度被操作減小,則必須除整數(shù)部分
    (而不是乘),這可能丟失精度;這種情況下,除法將使用指定的舍入模式。
    如果標度為負,或者舍入模式是 ROUND_UNNECESSARY 并且它不能執(zhí)行不丟失精度的調整標度的操作時拋出 ArithmeticException ;如果 roundingMode
    不是有效的舍入模式,則拋出 IlegalArgumentException。




    setScale

    public BigDecimal setScale(int scale)
    throws ArithmeticException, IllegalArgumentException


    返回一個 BigDecimal ,其標度是指定值,其值精確等于該數(shù)字的值。如果不可能做到則拋出 ArithmeticException 異常。該調用的典型應用是用來增加標度,它確保有一個指定標度和正確數(shù)值的
    BigDecimal 。 這個調用也可被用來減少標度,如果調用者知道那個數(shù)字的小數(shù)結尾部分有足夠多的零 (比如它的整數(shù)部分的十倍數(shù)因子),那么就可重新標度而不丟失精度。注意該調用返回的結果同使用兩參數(shù)版本的
    setScale 相同,這樣就避免了調用者指定舍入模式這樣的麻煩,因為在那種情況下指定舍入模式是不相關的。




    movePointLeft

    public BigDecimal movePointLeft(int n)


    返回一個 BigDecimal ,它于該數(shù)十進制小數(shù)點向左移動
    n 位后所得的值。若 n 非負,該調用僅把標度增加
    n 。若 n 是負的,則該調用等價于調用
    movePointRight(-n) ( 該調用返回的 BigDecimal 值是
    (this * 10**-n) 并且標度是 MAX(this.scale()+n, 0))。




    movePointRight

    public BigDecimal movePointRight(int n)


    把小數(shù)點按指定數(shù)值向右移動相應位數(shù)。
    如果該數(shù)的標度 >= n,該調用只從標度減去 n ;否則它把標度設為零,并且乘以整數(shù)值
    10 ** (n - this.scale) 。如果 n 是負的,則該調用等價于
    movePointLeft(-n)(該調用返回的 BigDecimal 值是
    (this * 10**n) 并且標度是 MAX(this.scale()-n, 0))。




    compareTo

    public int compareTo(BigDecimal val)


    按照該數(shù)值是小于、等于或大于 val分別返回 -1、0 或 1 。兩個 BigDecimals 在數(shù)值上相同但有不同的標度
    (例如 2.0, 2.00)時,該方法認為它們是相等的。
    該方法首選使用所提供的六個邏輯比較運算符
    (<, ="=,">, >=, !=, <=)。執(zhí)行這些比較的慣用方法是: (x.compareto(y) 0),其中 是六個比較符中的一個。




    equals

    public boolean equals(Object x)


    如果 x 等于該數(shù)值,則返回 true 。
    提供該方法的目的是使 BigDecimals 能被用做散列碼關鍵字。
    不同于 compareTo ,當且僅當兩個 BigDecimals 的值和標度都相同時,該方法才認為它們兩個相等。



     
    覆蓋:
     
    類 Object 中的
    equals  



    min

    public BigDecimal min(BigDecimal val)


    返回 BigDecimal ,其值是 this 和 val 中的較小者。
    若值相等(根據(jù) compareTo 運算符定義) ,則兩者都有可能被返回。




    max

    public BigDecimal max(BigDecimal val)


    返回 BigDecimal ,其值是 this 和 val 中的較大者。
    若值相等(根據(jù) compareTo 運算符定義) ,則兩者都有可能被返回。




    hashCode

    public int hashCode()


    為該對象計算一個散列碼。兩個 BigDecimals 在數(shù)值上相同但有不同的標度
    (例如 2.0,2.00)時不會產生相同的散列碼。



     
    覆蓋:
     
    類 Object 中的 hashCode



    toString

    public String toString()


    返回該數(shù)值的字符串表示(將使用由
    Character.forDigit 提供的數(shù)字到字符的映射)。
    減號和十進制小數(shù)點被用于指示符號和標度( 該表示法和(String, int)構造子是兼容的)。



     
    覆蓋:
     
    類 Object 中的 toString



    toBigInteger

    public BigInteger toBigInteger()


    把該數(shù)字轉換為 BigInteger 。標準的限制原語轉換同《Java 語言規(guī)范》一樣。 特別要注意的是,該數(shù)字的任何小數(shù)部分將被截斷。




    intValue

    public int intValue()


    把該數(shù)字轉換為一個 int 值。 標準的限制原語轉換同
    《Java 語言規(guī)范》一樣。 特別要注意的是,該數(shù)字的任何小數(shù)部分將被截斷。



     
    覆蓋:
     
    類 Number 中的
    intValue



    longValue

    public long longValue()


    把該數(shù)字轉換為一個 long 型值。 標準的限制原語轉換同
    《Java 語言規(guī)范》一樣。 特別要注意的是,該數(shù)字的任何小數(shù)部分將被截斷。



     
    覆蓋:
     
    類 Number 中的
    longValue



    floatValue

    public float floatValue()


    把該數(shù)字轉換為 float 型。 類似于《Java 語言規(guī)范》中定義的 double-to-float
    限制原語轉換:如果數(shù)值太大以致不能表示為浮點數(shù)時,則將它適當?shù)剞D換為無窮大或負無窮大。



     
    覆蓋:
     

    Number 中的

    floatValue



    doubleValue

    public double doubleValue()


    把該數(shù)字轉換為 double 型。 類似于《Java 語言規(guī)范》中定義的
    double-to-float 限制原語轉換:如果數(shù)值太大以致不能表示為雙精度數(shù)時,則將它適當轉換為無窮大或負無窮大。



     
    覆蓋:
     

    Number 中的
    doubleValue

    相關文章
    本頁查看次數(shù):