Originariamente inviato da nonsopiuchedire
Quello dello String mi interessa di più.
Infatti il mio problema è quello di fare delle operazioni su dei double
e poi inserire il risultato in un db. Queste colonne però sono di tipo varchar, infatti trasformo il risultato in string.
Il perché un valore double devi metterlo in un varchar sarebbe un altro discorso ....

Comunque:
codice:
double d = 123456.45678;

DecimalFormat df = new DecimalFormat("#.##");  // 2 cifre decimali

String s = df.format(d);
Nota che con il codice sopra il separatore dei decimali non è sempre il '.' (punto)! Il punto che vedi è solo nella specifica generica del formato.
Il separatore inserito nella stringa dipende dal Locale corrente (se italiano la virgola, se inglese il punto, ecc...)

Se vuoi "fissare" il locale al DecimalFormat lo puoi fare, vedi setDecimalFormatSymbols() di DecimalFormat o l'altro sui costruttore. E un DecimalFormatSymbols lo crei passando un Locale specifico.