Vorrei formattare un numero con virgola in un numero avente 7 cifre parte intera e 3 cifre parte frazionaria.
Ho fatto questo codice, funziona, ma mentre per la parte frazionaria il troncamento produce pure unarrotondamento "intelligente" per la parte intera c'è troncamento brutale sulle cifre più significative.
L'output è questo: 6789015.492

Dando per scontato che per la parte intera c'è cmq una perdita di informazione troncando a un numero di cifre minore, ma non c'è un modo per fargli troncare la parte meno significativa?

codice:
String s = "456789015.4919898";
		
Double d = (Double)Double.parseDouble(s);

DecimalFormatSymbols symb = new DecimalFormatSymbols();
symb.setDecimalSeparator('.');

DecimalFormat df = new DecimalFormat();
df.setDecimalFormatSymbols(symb);
df.setMaximumFractionDigits(3);
df.setMaximumIntegerDigits(7);
df.setGroupingUsed(false);

System.out.println(d);
System.out.println(df.format(d));