Ниже приводит к Exception
:Лучший способ parseDouble с запятой в качестве десятичного разделителя?
String p="1,234";
Double d=Double.valueOf(p);
System.out.println(d);
Есть ли лучший способ разбора "1,234"
получить 1.234
чем: p = p.replaceAll(",",".");
?
В моем опыте, replaceAll(), как вы предложили, является лучшим способом сделать это. Это не зависит от текущей локали, это просто, и это работает. – 2010-12-01 11:07:37
@JoonasPulakka Ваше предложение работает только в том случае, если текущий локаль по умолчанию использует точку в качестве разделителя десятичных чисел. Правильно ? – 2016-12-24 00:36:12
@Marco Altieri: `replaceAll (", ",". ")` Заменяет все запятые точками. Если запятых нет, значит, ничего не делает. `Double.valueOf()` работает (только) со строками, которые используют точку в качестве десятичного разделителя. Текущая локализация по умолчанию здесь не влияет. https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#valueOf-java.lang.String- – 2016-12-27 19:38:10