Duvidas com BigDecimal

0 respostas
M

Boa tarde Pessoal…

A minha dúvida é o seguinte…
Estou trabalhando com bigdecimal mas estou com problemas de arredondamento.
Tenho o seguinte código

public class TesteRoundingMode {  
          
        public static void main(String[] args) {  
            executaRoundingMode();        
        }  
      
        private static void executaRoundingMode() {  
            BigDecimal valor1 = new BigDecimal("8.955");  
                    BigDecimal valor2 = new BigDecimal(8.955);  
                     
                  //rounding.half_DOWN  
           System.out.println("HALF_DOWN: "+valor1.setScale(2,RoundingMode.HALF_DOWN));  
             
           System.out.println("HALF_DOWN: "+valor2.setScale(2,RoundingMode.HALF_DOWN));  
           }  
   }

Ao rodar a aplicação tenho a seguinte saída:
HALF_DOWN: 8.95
HALF_DOWN: 8.96

Porque que é que temos essa diferença de 1 centavo, quando usamos as aspas no número??

agradeço a colaboração.

Criado 30 de outubro de 2008
Respostas 0
Participantes 1