Il valore non ha nulla a che vedere con il "formato" in cui viene stampato/visualizzato.
Un double è un double.
Come visualizzarlo è il formatter a deciderlo, puoi formattarlo come ti pare, ma sempre il double rimane.
codice:
double d = 10000.0d; // Questo è un 10.000 (valore valido per qualunque luogo nel mondo)
NumberFormat nfIta = NumberFormat.getInstance( Locale.ITALY );
System.out.println( nfIta.format(d) );
NumberFormat nfCanada = NumberFormat.getInstance( Locale.CANADA );
System.out.println( nfCanada.format(d) );
Nota che ho usato due formatter diversi, ma ho stampato sempre e solo lo stesso valore.
Ciao.