Non ti funziona perchè ho supposto che vengano cmq espresse 2 cifre decimali (ecco perchè ho fatto -3 nella condizione). Ho usato il metodo del NumberFormat per darti la possibilità di inserire indifferentemente i due tipi di notazione.

Se sei sicuro che l'utente inserisce sempre il formato 1.234,89 allora ti basta fare due replace sulla stringa inserita:

codice:
valore = valore.replaceAll("\\.","").replaceAll(",",".");
il metodo replaceAll sostituisce tutte le occorrenze del primo parametro con il secondo parametro.

Pertanto... iniziando da un valore = 1.234,50

valore.replaceAll("\\.","") ----restuisce---> 1234,50

il secondo replaceAll restituisce 1234.50