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 open source libmpdecimal, 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 default;
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 default é 38.
emax
number <optional>
O maior expoente possível. O valor default é 425000000.
emin
number <optional>
O menor expoente possível. O valor default é -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
Returns:
True se o valor deste decimal é negativo
- Type
- boolean
-
isPositive()
-
Testa se este decimal é 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 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 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 places
Parameters:
Name Type Description places
number número de casas decimais
Returns:
o valor decimal calculado
- Type
- BigDecimal