BigDecimal não está funcionando como eu pensava

3 respostas
dudaskank

pessoal olha esse meu método aqui:

public static void testa() { BigDecimal n; MathContext mc = new MathContext(20); n = new BigDecimal(3.50, mc).add(new BigDecimal(0.60, mc)).multiply(new BigDecimal(10, mc)); System.out.println(n); }

a classe BigDecimal tem precisão limitada pelo tamanho da memória certo? Então porque isso aí imprime 40.99999999999999977800 e não 41???

por favor, me ajudem…

obrigado desde já e tchau

3 Respostas

T

new BigDecimal (0.60) é diferente de new BigDecimal (“0.60”) (olhe que é uma string e não uma constante double)
Tente aí e me responda se funcionou.

dudaskank

hmm… vou testar, valeu :slight_smile:

Fabricio_Cozer_Marti

Passe uma string como parametro que funciona

Criado 19 de agosto de 2005
Ultima resposta 19 de ago. de 2005
Respostas 3
Participantes 3