new BigDecimal(value)
O objeto BigDecimal armazena um imutável número decimal de precisão arbitrária, possibilitando a realização de operações aritméticas sem os erros de precisão que comumente ocorrem com números de ponto flutuante.
A implementação utiliza a biblioteca mpdecimal, também utilizada pela linguagem Python.
Esta classe também é publicada pelo Engine por meio da variável global BigDecimal.
Parameters:
Name | Type | Description |
---|---|---|
value |
number | BigDecimal | string | Um valor decimal. |
Methods
-
<static> add(a, b)
-
Calcula o valor decimal resultado da soma de a com b.
Parameters:
Name Type Description a
number | BigDecimal | string Um valor decimal.
b
number | BigDecimal | string Um valor decimal.
Returns:
O valor decimal calculado.
- Type
- BigDecimal
-
<static> config(params)
-
Altera algumas parametrizações dos objetos BigDecimal da sessão. Ao alterar estes parâmetros todos os objetos BigDecimal da sessão são impactados.
Parameters:
Name Type Description params
object Os parâmetros
Properties
Name Type Argument Description rounding
number <optional>
Uma constante com o modo de arredondamento que deve ser utilizado quando necessário. Valores possíveis:
- RoundingMode.HALF_EVEN: arredonda para o decimal mais próximo ou mantém o mesmo dígito.
- RoundingMode.HALF_DOWN: arredonda para o decimal mais próximo ou em direção a zero (truncamento).
- RoundingMode.HALF_UP: arredonda para o decimal mais próximo ou para longe do zero. É o modo padrão.
- RoundingMode.FLOOR: arredonda para o menor valor decimal mais próximo.
- RoundingMode.CEILING: arredonda para o maior valor decimal mais próximo.
- RoundingMode.DOWN: arredonda em direção a zero (truncamento).
- RoundingMode.UP: arredonda para longe de zero.
precision
number <optional>
O número máximo de dígitos que pode ser armazenado. O valor padrão é 38.
emax
number <optional>
O maior expoente possível. O valor padrão é 425000000.
emin
number <optional>
O menor expoente possível. O valor padrão é -425000000.
-
<static> div(a, b)
-
Calcula o valor decimal resultado da divisão de a por b.
Parameters:
Name Type Description a
number | BigDecimal | string Um valor decimal.
b
number | BigDecimal | string Um valor decimal.
Returns:
O valor decimal calculado.
- Type
- BigDecimal
-
<static> mul(a, b)
-
Calcula o valor decimal resultado da multiplicação de a por b.
Parameters:
Name Type Description a
number | BigDecimal | string Um valor decimal.
b
number | BigDecimal | string Um valor decimal.
Returns:
O valor decimal calculado.
- Type
- BigDecimal
-
<static> sub(a, b)
-
Calcula o valor decimal resultado da subtração de a por b.
Parameters:
Name Type Description a
number | BigDecimal | string Um valor decimal.
b
number | BigDecimal | string Um valor decimal.
Returns:
O valor decimal calculado.
- Type
- BigDecimal
-
abs()
-
Calcula o valor absoluto deste decimal.
Returns:
O valor absoluto deste decimal.
- Type
- BigDecimal
-
ceil()
-
Calcula o menor decimal inteiro que é maior ou igual a este decimal.
Returns:
O valor decimal calculado.
- Type
- BigDecimal
-
compareTo(value)
-
Compara este decimal com value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
1 se este decimal é maior do que value, -1 se é menor e 0 se é igual
- Type
- number
-
dividedBy(value)
-
Calcula a divisão deste decimal por value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
O resultado da divisão deste decimal por value.
- Type
- BigDecimal
-
dividedToIntegerBy(value)
-
Calcula a parte inteira da divisão Euclidiana deste decimal por value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
A parte inteira do resultado da divisão Euclidiana deste decimal por value.
- Type
- BigDecimal
-
equals(value)
-
Testa se este decimal é igual a value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
o boolean True se os dois decimais são iguais, ou False se são diferentes.
- Type
- boolean
-
floor()
-
Calcula o maior decimal inteiro que é menor ou igual a este decimal.
Returns:
O valor decimal calculado.
- Type
- BigDecimal
-
greaterThan(value)
-
Testa se este decimal é maior do que value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
true se este decimal é maior do que value.
- Type
- boolean
-
greaterThanOrEqualTo(value)
-
Testa se este decimal é maior ou igual a value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
true se este decimal é maior do que ou igual a value.
- Type
- boolean
-
isInfinite()
-
Testa se este decimal é infinito.
Returns:
True se o valor deste decimal é infinito.
- Type
- boolean
-
isNaN()
-
Testa se este decimal possui o valor NaN.
Returns:
True se o valor deste decimal é NaN.
- Type
- boolean
-
isNegative()
-
Testa se este decimal é negativo.
Diferentemente da biblioteca mpdecimal, na qual esta API é baseada, este método não considera que
-0
é um número negativo.Returns:
True se o valor deste decimal é negativo.
- Type
- boolean
-
isPositive()
-
Testa se este decimal é positivo.
Diferentemente da biblioteca mpdecimal, na qual esta API é baseada, este método não considera que
+0
é um número positivo.Returns:
True se o valor deste decimal é positivo.
- Type
- boolean
-
isZero()
-
Testa se este decimal é igual a zero.
Returns:
True se o valor deste decimal é igual a zero.
- Type
- boolean
-
lessThan(value)
-
Testa se este decimal é menor do que value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
true se este decimal é menor do que value.
- Type
- boolean
-
lessThanOrEqualTo(value)
-
Testa se este decimal é menor ou igual a value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
true se este decimal é menor ou igual a value.
- Type
- boolean
-
minus(value)
-
Calcula a subtração deste decimal por value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
O resultado da subtração deste decimal por value.
- Type
- BigDecimal
-
modulo(value)
-
Calcula o resto da divisão Euclidiana deste decimal por value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
O resto da divisão Euclidiana deste decimal por value.
- Type
- BigDecimal
-
negate()
-
Calcula o valor deste decimal com o sinal invertido.
Returns:
O valor negativado deste decimal, ou seja, com o sinal invertido.
- Type
- BigDecimal
-
plus(value)
-
Calcula a soma deste decimal com value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
O resultado da soma deste decimal com value.
- Type
- BigDecimal
-
pow(value)
-
Calcula o valor deste decimal potência de value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
O valor deste decimal potência de value.
- Type
- BigDecimal
-
quantize(value)
-
Calcula o valor decimal que é igual a este decimal, mas com o expoente de value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
O valor decimal calculado.
- Type
- BigDecimal
-
sqrt()
-
Calcula a raiz quadrada do valor deste decimal.
Returns:
A raiz quadrada.
- Type
- BigDecimal
-
times(value)
-
Calcula a multiplicação deste decimal por value.
Parameters:
Name Type Description value
number | BigDecimal | string Um valor decimal.
Returns:
O resultado da multiplicação deste decimal por value.
- Type
- BigDecimal
-
toDecimalPlaces(places)
-
Calcula o valor deste decimal arredondado para o número de casas decimais.
Parameters:
Name Type Description places
number Número de casas decimais.
Returns:
O valor decimal calculado.
- Type
- BigDecimal