A existência dos zeros à direita é uma exibição problema, não um problema de armazenamento. Os zeros à direita não são significativos e, de qualquer forma, o formato interno dos números é irrelevante, desde que os valores estão corretas. Não há diferença de valor entre
10
e 10.00000
. Se você precisar de zeros à direita, sempre poderá usar a formatação ao converter os valores para exibição. Por exemplo:
System.out.printf("%10.4d\n", decimalValue);
Se o problema for diferenças de escala, você pode definir a escala para o valor apropriado antes de comparar.