(resolvido) calculos em java

bom dia a todos
fiz um calculo assim:

long l = 10; double d = 10.98; d = d * 10; System.out.println(d);

e retornou: 109.80000000000001

como resolver este problema… terei varios calculos que podem acontecer isso…
eu sei que com o decimalformat se resolve mas qual a melhor maneira de resolver esse problema:

solucao
usar bigdecimal

Ou você formata para limitar as casas decimais que deseja trabalhar, ou usa o BigDecimal.

Olá, acho que este artigo pode te ajudar:

Att.