Puoi fare un controllo in questo modo: ho supposto che l'utente possa inserire sia la notazione europea che quella USA, ipotizzando che cmq siano presenti le cifre decimali (puoi modificare tu il controllo)

codice:
try {
     String value = "12,345.21";    //il valore inserito
     if(value.lastIndexOf(",")==value.length()-3){   //notazione europea
          value = NumberFormat.getNumberInstance(Locale.ITALIAN).parse(value).toString();
     }else{   //notazione USA
       value = NumberFormat.getNumberInstance(Locale.US).parse(value).toString();
     }
     //value può ora essere passato come argomento del BigDecimal;
     System.out.println(value);
} catch (ParseException ex) {
   ex.printStackTrace();
}