L'esistenza degli zeri finali è una visualizzazione problema, non un problema di archiviazione. Gli zeri finali non sono significativi, e comunque il formato interno dei numeri è irrilevante purché i valori sono corretti. Non c'è differenza di valore tra 10
e 10.00000
.
Se hai bisogno di zeri finali, puoi sempre usare la formattazione durante la conversione dei valori per la visualizzazione. Ad esempio:
System.out.printf("%10.4d\n", decimalValue);
Se il problema sono le differenze di scala, puoi impostare la scala al valore appropriato prima del confronto.