天天看點

java.math.BigDecimal方法彙總,函數用法介紹

java.math.BigDecimal方法摘要

變量和類型 方法 描述

BigDecimal

abs()

傳回 

BigDecimal

其值是此的絕對值 

BigDecimal

 ,其标為 

this.scale()

 。

BigDecimal

abs​(MathContext mc)

傳回 

BigDecimal

其值為此 

BigDecimal

的絕對值,并根據上下文設定進行舍入。

BigDecimal

add​(BigDecimal augend)

傳回 

BigDecimal

其值為 

(this + augend)

 ,其比例為 

max(this.scale(), augend.scale())

 。

BigDecimal

add​(BigDecimal augend, MathContext mc)

傳回 

BigDecimal

其值為 

(this + augend)

 ,根據上下文設定進行舍入。

byte

byteValueExact()

将 

BigDecimal

轉換為 

byte

 ,檢查是否丢失了資訊。

int

compareTo​(BigDecimal val)

将此 

BigDecimal

與指定的 

BigDecimal

 。

BigDecimal

divide​(BigDecimal divisor)

傳回

BigDecimal

其值為

(this / divisor)

 ,其首選比例為

(this.scale() - divisor.scale())

 ; 如果無法表示準确的商(因為它具有非終止的十進制擴充),則抛出

ArithmeticException

 。

BigDecimal

divide​(BigDecimal divisor, int roundingMode)

已過時。

應該優先使用方法

divide(BigDecimal, RoundingMode)

 ,而不是這種傳統方法。

BigDecimal

divide​(BigDecimal divisor, int scale, int roundingMode)

已過時。

應該優先使用方法

divide(BigDecimal, int, RoundingMode)

來使用該傳統方法。

BigDecimal

divide​(BigDecimal divisor, int scale,RoundingMode roundingMode)

傳回 

BigDecimal

其值為 

(this / divisor)

 ,其比例為指定的比例。

BigDecimal

divide​(BigDecimal divisor,MathContext mc)

傳回 

BigDecimal

其值為 

(this / divisor)

 ,根據上下文設定進行舍入。

BigDecimal

divide​(BigDecimal divisor,RoundingMode roundingMode)

傳回 

BigDecimal

其值為 

(this / divisor)

 ,其比例為 

this.scale()

 。

BigDecimal[]

divideAndRemainder​(BigDecimal divisor)

傳回一個兩元件 

BigDecimal

陣列含有的結果 

divideToIntegralValue

 ,随後的結果 

remainder

上的兩個操作數。

BigDecimal[]

divideAndRemainder​(BigDecimal divisor,MathContext mc)

傳回一個兩元件 

BigDecimal

陣列含有的結果 

divideToIntegralValue

 ,随後的結果 

remainder

上與根據上下文設定進行舍入計算出的兩個操作數。

BigDecimal

divideToIntegralValue​(BigDecimal divisor)

傳回 

BigDecimal

其值是 

(this / divisor)

舍入的商 

(this / divisor)

的整數部分。

BigDecimal

divideToIntegralValue​(BigDecimal divisor,MathContext mc)

傳回 

BigDecimal

 ,其值是整數部分 

(this / divisor)

 。

double

doubleValue()

将 

BigDecimal

轉換為 

double

 。

boolean

equals​(Object x)

将此 

BigDecimal

與指定的 

Object

進行相等性比較。

float

floatValue()

将 

BigDecimal

轉換為 

float

 。

int

hashCode()

傳回此 

BigDecimal

的哈希碼。

int

intValue()

将 

BigDecimal

成 

int

 。

int

intValueExact()

将 

BigDecimal

轉換為 

int

 ,檢查是否丢失了資訊。

long

longValue()

将 

BigDecimal

轉換為 

long

 。

long

longValueExact()

将此 

BigDecimal

轉換為 

long

 ,檢查是否丢失了資訊。

BigDecimal

max​(BigDecimal val)

傳回 

BigDecimal

和 

val

 。

BigDecimal

min​(BigDecimal val)

傳回 

BigDecimal

和 

val

 。

BigDecimal

movePointLeft​(int n)

傳回一個 

BigDecimal

 ,相當于這個小數點向左移動 

n

位置。

BigDecimal

movePointRight​(int n)

傳回一個 

BigDecimal

 ,相當于這個小數點向右移動 

n

位置。

BigDecimal

multiply​(BigDecimal multiplicand)

傳回 

BigDecimal

其值為 

(this × multiplicand)

 ,其比例為 

(this.scale() + multiplicand.scale())

 。

BigDecimal

multiply​(BigDecimal multiplicand,MathContext mc)

傳回 

BigDecimal

其值為 

(this × multiplicand)

 ,根據上下文設定進行舍入。

BigDecimal

negate()

傳回 

BigDecimal

其值為 

(-this)

 ,其比例為 

this.scale()

 。

BigDecimal

negate​(MathContext mc)

傳回 

BigDecimal

其值為 

(-this)

 ,根據上下文設定進行舍入。

BigDecimal

plus()

傳回 

BigDecimal

其值為 

(+this)

 ,其比例為 

this.scale()

 。

BigDecimal

plus​(MathContext mc)

傳回 

BigDecimal

其值為 

(+this)

 ,根據上下文設定進行舍入。

BigDecimal

pow​(int n)

傳回 

BigDecimal

其值為 

(thisn)

 ,精确計算功率,精度無限制。

BigDecimal

pow​(int n, MathContext mc)

傳回 

BigDecimal

其值為 

(thisn)

 。

int

precision()

傳回此 

BigDecimal

的 精度 。

BigDecimal

remainder​(BigDecimal divisor)

傳回 

BigDecimal

其值為 

(this % divisor)

 。

BigDecimal

remainder​(BigDecimal divisor,MathContext mc)

傳回 

BigDecimal

其值為 

(this % divisor)

 ,根據上下文設定進行舍入。

BigDecimal

round​(MathContext mc)

傳回 

BigDecimal

根據四舍五入 

MathContext

設定。

int

scale()

傳回 

BigDecimal

的 比例 。

BigDecimal

scaleByPowerOfTen​(int n)

傳回其數值等于( 

this

 * 10 n )的BigDecimal。

BigDecimal

setScale​(int newScale)

傳回 

BigDecimal

其标度為指定值,其值在數值上等于此 

BigDecimal

 。

BigDecimal

setScale​(int newScale, int roundingMode)

已過時。

應該優先使用方法

setScale(int, RoundingMode)

來使用該傳統方法。

BigDecimal

setScale​(int newScale,RoundingMode roundingMode)

傳回 

BigDecimal

其比例為指定值,其未縮放值通過将此 

BigDecimal

值乘以或除以适當的10的幂來确定,以保持其總值。

short

shortValueExact()

将此 

BigDecimal

轉換為 

short

 ,檢查是否丢失了資訊。

int

signum()

傳回此 

BigDecimal

的signum函數。

BigDecimal

sqrt​(MathContext mc)

傳回 

this

平方根的 

this

并根據上下文設定進行舍入。

BigDecimal

stripTrailingZeros()

傳回 

BigDecimal

 ,它在數值上等于此值,但從表示中删除了任何尾随零。

BigDecimal

subtract​(BigDecimal subtrahend)

傳回 

BigDecimal

其值為 

(this - subtrahend)

 ,其比例為 

max(this.scale(), subtrahend.scale())

 。

BigDecimal

subtract​(BigDecimal subtrahend,MathContext mc)

傳回 

BigDecimal

其值為 

(this - subtrahend)

 ,根據上下文設定進行舍入。

BigInteger

toBigInteger()

将 

BigDecimal

轉換為 

BigInteger

 。

BigInteger

toBigIntegerExact()

将 

BigDecimal

轉換為 

BigInteger

 ,檢查是否丢失了資訊。

String

toEngineeringString()

如果需要指數,則使用工程符号傳回此 

BigDecimal

的字元串表示形式。

String

toPlainString()

傳回此 

BigDecimal

的字元串表示形式,不帶指數字段。

String

toString()

如果需要指數,則使用科學計數法傳回此 

BigDecimal

的字元串表示形式。

BigDecimal

ulp()

傳回此 

BigDecimal

的ulp(最後一個機關)的 

BigDecimal

 。

BigInteger

unscaledValue()

傳回 

BigInteger

其值是此的 非标度值 

BigDecimal

 。

staticBigDecimal

valueOf​(double val)

轉換一個 

double

成 

BigDecimal

 ,使用 

double

通過所提供的規範的字元串表示 

Double.toString(double)

方法。

staticBigDecimal

valueOf​(long val)

将 

long

值轉換為 

BigDecimal

 ,其标度為零。

staticBigDecimal

valueOf​(long unscaledVal, int scale)

将 

long

值和 

int

比例轉換為 

BigDecimal

 。