Diferentes localidades possuem separadores decimais distintos, como vírgula (português) ou ponto (inglês). Para converter uma entrada em formato decimal (tipo float ou double), ao invés de usar o método parse do tipo (parseFloat ou parseDouble) que não considera localidade, deve-se utilizar o DecimalFormat, dessa forma:
String text = "1,23";
DecimalFormat df = new DecimalFormat("#,##0.000");
Double d = df.parse(text).doubleValue();
Mas não se esqueça, quando possível, evite decimais!