Como fazer aritmética bigdecimal para java

Video: Classe BigDecimal

A pior parte sobre o uso do BigDecimal classe em Java é que você não pode usar operadores aritméticos normais com BigDecimal objetos. BigDecimal aritmética tem rules.T diferente ele seguinte código, por exemplo, não irá compilar:

BigDecimal subtotal, TaxRate, imposto, o total-subtotal = new BigDecimal ("32.50") = -taxRate novo BigDecimal ("0,05") -Imposto = subtotal * taxRate- // erro: não vai compiletotal = subtotal + impostos // isso não vai compilar quer

Em vez disso, você tem que chamar métodos da BigDecimal classe para efectuar operações aritméticas básicas. Todos esses métodos retornam o resultado do cálculo como BigDecimal objetos. Veja como você pode executar o cálculo do imposto anterior:

Video: Aula 13 – Campo Formatado Moeda com tipo BigDecimal

BigDecimal subtotal, TaxRate, imposto, o total-subtotal = new BigDecimal ("32.50") = -taxRate novo BigDecimal ("0,05") -Imposto = subTotal.multiply (TaxRate) -total = subTotal.add (imposto) -

Aqui está uma lista de todos os métodos aritméticos para o BigDecimal classe. Como você pode ver, a classe tem métodos para operações básicas como adicionar, subtrair, multiplicar, e dividir, bem como algumas operações adicionais, tais como abs (poder absoluto), prisioneiro de guerra (Aumentando o número a uma potência), e negativo (Muda o sinal do número).

Video: Curso de Java - Aula 52 - Média Aritmética - eXcript

MétodoExplicação
BigDecimal abs ()Retorna o valor absoluto deste BigDecimal.
BigDecimal adicionarAdiciona o especificado BigDecimal para isso
BigDecimal e retorna o resultado.
BigDecimal divide (BigDecimal
val)
divide esta BigDecimal pela
Especificadas BigDecimal e retorna o
resultado. O método pode lançar ArithmeticException.
BigDecimal [] divideAndRemainder (BigDecimal
val)
divide esta BigDecimal pelo
Especificadas BigDecimaeu. O resultado ea
restante é devolvido como um elemento de duas- BigDecimal matriz.
BigDecimal [] divideToIntegralValue (BigDecimal
val)
divide esta BigDecimal pelo
Especificadas BigDecimal e retorna o
resultado inteiro.
BigDecimal max (BigDecimal Val)Retorna o maior desta BigDecimal
e o especificado BigDecimal.
BigDecimal min (BigDecimal Val)Retorna o menor deste BigDecimal e o especificado BigDecimal.
BigDecimal multiplicar (BigDecimal
val)
multiplica isso BigDecimal pelo
Especificadas BigDecimal e retorna o
resultado.
BigDecimal anular ()nega esta BigDecimal e retornos
o resultado.
BigDecimal POW (poder int)eleva este BigDecimal para o poder
especificado pela int valor e retornos
o resultado.
restante BigDecimal (BigDecimal
val)
divide esta BigDecimal pelo
Especificadas BigDecimal e retorna o
restante.
BigDecimal subtrair (BigDecimal
val)
Subtrai o especificado BigDecimal
disto BigDecimal e retorna o
resultado.

Observe que, além de divisão normal, você pode usar o divideToIntegralValue método para voltar a parte inteira do resultado. Aqui está um exemplo:

BigDecimal a = new BigDecimal ("23,5") -BigDecimal b = novo BigDecimal ("7") -BigDecimal c-c = a.divideToIntegralValue (b) -


Após estas declarações executar, o valor de c é 3.

Você também pode usar o restante método para obter o restante de uma divisão:

c = a.remainder (b) -

Aqui o valor de c é 2,5.

Um erro comum entre os novos usuários do BigDecimal classe é esquecer de atribuir o resultado de uma operação aritmética. Você pode olhar para este ciclo de código por horas, perguntando por que ele não parece funcionar:

BigDecimal totalWinnings = new BigDecimal ("1000.00") -BigDecimal winningsThisGame = novo BigDecimal ("200,00") -totalWinnings.add (winningsThisGame) -System.out.println (totalWinnings) -

A terceira declaração acrescenta winningsThisGame para ganhos totais mas descarta o resultado. O que você provavelmente quis dizer foi o seguinte:

Video: Converter Número Binário para Decimal em Java - Canal do Código

totalWinnings = totalWinnings.add (winningsThisGame) -

Publicações relacionadas