Depois de um longo tempo sem visitar o Projeto Euler, retomei recentemente minhas tentativas de resolver os problemas propostos.
Já tinha resolvido alguns, nessa retomada, cheguei aos primeiros 50 resolvidos.
O objetivo é dar uma "desenferrujada" na lógica.
Até hoje, já resolvi 53 problemas e ocupo a posição 60 entre os participantes do Brasil.
sábado, 13 de setembro de 2014
quarta-feira, 3 de setembro de 2014
#dicaJava - BigDecimal, cálculo de prestações
Muitas vezes precisamos calcular uma série de valores, como os valores de uma venda parcelada, a partir de um valor total e o número de parcelas. Ocorre que esse cálculo nem sempre é preciso, muitas vezes vai ocorrer arredondamentos.
O programa abaixo mostra isso:
Executando:
Normalmente, quando a diferença é negativa (diminui o valor da parcela), é costumeiro aplicar a diferença nos valores iniciais, caso contrário, nos valores finais. Também, aplica-se as diferenças centavo a centavo.
Fazendo umas alterações no programa:
Resultado:
Abraço!
O programa abaixo mostra isso:
Executando:
Normalmente, quando a diferença é negativa (diminui o valor da parcela), é costumeiro aplicar a diferença nos valores iniciais, caso contrário, nos valores finais. Também, aplica-se as diferenças centavo a centavo.
Fazendo umas alterações no programa:
Resultado:
Abraço!
#dicaJava - BigDecimal, arredondamento
Um dos posts mais acessados é no qual tratei sobre os problemas de precisão dos tipos float e double e o uso da classe BigDecimal. http://agorandroid.blogspot.com.br/2012/04/java-valores-monetarios-float-double-e.html
Segue um programa que uso para selecionar o tipo de arredondamento entre as diversas opções existentes na classe BigDecimal.
Abaixo o resultado da execução:
Interessante a opção HALF_EVEN, indicada para tratar grande volume de dados, principalmente estatísticos. O arredondamento, quando o valor a ser desprezado é igual a 5, depende do valor do dígito a ser arredondado ser par ou ímpar. Se for par o comportamento é igual à opção HALF_DOWN, se ímpar igual a HALF_UP .
Vejam o teste abaixo:
É isso.
Abraços!
Segue um programa que uso para selecionar o tipo de arredondamento entre as diversas opções existentes na classe BigDecimal.
Abaixo o resultado da execução:
Interessante a opção HALF_EVEN, indicada para tratar grande volume de dados, principalmente estatísticos. O arredondamento, quando o valor a ser desprezado é igual a 5, depende do valor do dígito a ser arredondado ser par ou ímpar. Se for par o comportamento é igual à opção HALF_DOWN, se ímpar igual a HALF_UP .
Vejam o teste abaixo:
É isso.
Abraços!
Assinar:
Postagens (Atom)