亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >BigDecimal 創(chuàng)建者:webmaster 更新時(shí)間:2005-12-17 03:35


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

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


    類(lèi) java.math.BigDecimal



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




    public class BigDecimal
    extends Number




     
    參見(jiàn):
     
    BigInteger





    變量索引



    ROUND_CEILING
    如果 BigDecimal 是正的,則做 ROUND_UP 操作;如果為負(fù),則做 ROUND_DOWN 操作。
    ROUND_DOWN
    從不在舍棄(即截?cái)?的小數(shù)之前增加數(shù)字。
    ROUND_FLOOR
    如果 BigDecimal 為正,則作 ROUND_UP ;如果為負(fù),則作 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
    該“偽舍入模式”實(shí)際是指明所要求的操作必須是精確的,,因此不需要舍入操作。
    ROUND_UP
    總是在非 0 舍棄小數(shù)(即截?cái)?之前增加數(shù)字。



    構(gòu)造子索引



    BigDecimal(BigInteger)
    把一個(gè) BigInteger 翻譯成 BigDecimal 。
    BigDecimal(BigInteger, int)
    把一個(gè) BigInteger 和一個(gè)標(biāo)度翻譯成 BigDecimal 。
    BigDecimal(double)
    把一個(gè) double 型翻譯成 BigDecimal 。
    BigDecimal(String)
    從一個(gè)字符串構(gòu)造 BigDecimal ,該字符串包含一個(gè)可選的減號(hào),后面跟著一串零或十進(jìn)制數(shù)字串,再后面是一個(gè)可選的小數(shù)部分,該小數(shù)部分包含一個(gè)小數(shù)點(diǎn)和一串零或十進(jìn)制數(shù)字串。



    方法索引



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




    變量



    ROUND_UP

    public static final int ROUND_UP


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




    ROUND_DOWN

    public static final int ROUND_DOWN


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




    ROUND_CEILING

    public static final int ROUND_CEILING


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




    ROUND_FLOOR

    public static final int ROUND_FLOOR


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




    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


    該 “偽舍入模式”實(shí)際是要求操作有一個(gè)精確結(jié)果,,因此不需要舍入。如果該舍入模式對(duì)一個(gè)指定的操作產(chǎn)生不精確的結(jié)果,則拋出算術(shù)異常。






    構(gòu)造子




    BigDecimal

    public BigDecimal(String val) throws NumberFormatException


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




    BigDecimal

    public BigDecimal(double val) throws NumberFormatException


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




    BigDecimal

    public BigDecimal(BigInteger val)


    把一個(gè) BigInteger 翻譯成 BigDecimal 。 BigDecimal
    的標(biāo)度為零。




    BigDecimal

    public BigDecimal(BigInteger val,int scale)
    throws NumberFormatException


    把一個(gè) BigInteger 和一個(gè)標(biāo)度翻譯成一個(gè) BigDecimal 。
    BigDecimal 的值是 (BigInteger/10**scale) 。 負(fù)標(biāo)度將導(dǎo)致一個(gè)
    NumberFormatException 異常。






    方法



    valueOf

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


    返回一個(gè) BigDecimal ,其值是 (val/10**scale) 。 該函數(shù)首選使用 (long) 構(gòu)造子,因?yàn)樗试S對(duì) BigDecimals (如 0 和 1)的頻繁使用進(jìn)行重用,從而消除了輸出常數(shù)時(shí)的這種需要。
    一個(gè)負(fù)標(biāo)度將導(dǎo)致
    NumberFormatException 異常。




    valueOf

    public static BigDecimal valueOf(long val)


    用給定的值和零標(biāo)度構(gòu)造并返回一個(gè) BigDecimal 。該函數(shù)首選使用 (long) 構(gòu)造子,因?yàn)樗试S對(duì) BigDecimals (如 0 和 1)的頻繁使用進(jìn)行重用,從而消除了輸出常數(shù)時(shí)的這種需要。




    add

    public BigDecimal add(BigDecimal val)


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




    subtract

    public BigDecimal subtract(BigDecimal val)


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




    multiply

    public BigDecimal multiply(BigDecimal val)


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




    divide

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


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


    divide

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


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




    abs

    public BigDecimal abs()


    返回一個(gè) BigDecimal ,其值是該數(shù)字的絕對(duì)值,其標(biāo)度是 this.scale() 。




    negate

    public BigDecimal negate()


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




    signum

    public int signum()


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




    scale

    public int scale()


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




    setScale

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


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




    setScale

    public BigDecimal setScale(int scale)
    throws ArithmeticException, IllegalArgumentException


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




    movePointLeft

    public BigDecimal movePointLeft(int n)


    返回一個(gè) BigDecimal ,它于該數(shù)十進(jìn)制小數(shù)點(diǎn)向左移動(dòng)
    n 位后所得的值。若 n 非負(fù),該調(diào)用僅把標(biāo)度增加
    n 。若 n 是負(fù)的,則該調(diào)用等價(jià)于調(diào)用
    movePointRight(-n) ( 該調(diào)用返回的 BigDecimal 值是
    (this * 10**-n) 并且標(biāo)度是 MAX(this.scale()+n, 0))。




    movePointRight

    public BigDecimal movePointRight(int n)


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




    compareTo

    public int compareTo(BigDecimal val)


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




    equals

    public boolean equals(Object x)


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



     
    覆蓋:
     
    類(lèi) Object 中的
    equals  



    min

    public BigDecimal min(BigDecimal val)


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




    max

    public BigDecimal max(BigDecimal val)


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




    hashCode

    public int hashCode()


    為該對(duì)象計(jì)算一個(gè)散列碼。兩個(gè) BigDecimals 在數(shù)值上相同但有不同的標(biāo)度
    (例如 2.0,2.00)時(shí)不會(huì)產(chǎn)生相同的散列碼。



     
    覆蓋:
     
    類(lèi) Object 中的 hashCode



    toString

    public String toString()


    返回該數(shù)值的字符串表示(將使用由
    Character.forDigit 提供的數(shù)字到字符的映射)。
    減號(hào)和十進(jìn)制小數(shù)點(diǎn)被用于指示符號(hào)和標(biāo)度( 該表示法和(String, int)構(gòu)造子是兼容的)。



     
    覆蓋:
     
    類(lèi) Object 中的 toString



    toBigInteger

    public BigInteger toBigInteger()


    把該數(shù)字轉(zhuǎn)換為 BigInteger 。標(biāo)準(zhǔn)的限制原語(yǔ)轉(zhuǎn)換同《Java 語(yǔ)言規(guī)范》一樣。 特別要注意的是,該數(shù)字的任何小數(shù)部分將被截?cái)唷?br />




    intValue

    public int intValue()


    把該數(shù)字轉(zhuǎn)換為一個(gè) int 值。 標(biāo)準(zhǔn)的限制原語(yǔ)轉(zhuǎn)換同
    《Java 語(yǔ)言規(guī)范》一樣。 特別要注意的是,該數(shù)字的任何小數(shù)部分將被截?cái)唷?br />



     
    覆蓋:
     
    類(lèi) Number 中的
    intValue



    longValue

    public long longValue()


    把該數(shù)字轉(zhuǎn)換為一個(gè) long 型值。 標(biāo)準(zhǔn)的限制原語(yǔ)轉(zhuǎn)換同
    《Java 語(yǔ)言規(guī)范》一樣。 特別要注意的是,該數(shù)字的任何小數(shù)部分將被截?cái)唷?br />



     
    覆蓋:
     
    類(lèi) Number 中的
    longValue



    floatValue

    public float floatValue()


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



     
    覆蓋:
     
    類(lèi)
    Number 中的

    floatValue



    doubleValue

    public double doubleValue()


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



     
    覆蓋:
     
    類(lèi)
    Number 中的
    doubleValue

    相關(guān)文章
    本頁(yè)查看次數(shù):