Наступне призводить до Exception:
String p="1,234";
Double d=Double.valueOf(p);
System.out.println(d);
Чи існує кращий спосіб розбору, ніж "1,234"отримати :?1.234p = p.replaceAll(",",".");
replaceAll(",",".")замінює всі коми крапками. Якщо немає коми, то це нічого не робить. Double.valueOf()працює (лише) з рядками, які використовують крапку як десятковий роздільник. Ніщо тут не впливає на поточну локальну мову. docs.oracle.com/javase/8/docs/api/java/lang/…
replaceAll(",",".")тому, що вона працюватиме лише за наявності однієї коми: тобто: 1,234,567 кине java.lang.NumberFormatException: multiple points. Регексу з позитивним знаком буде достатньо p.replaceAll(",(?=[0-9]+,)", "").replaceAll(",", ".")Детальніше за адресою: regular-expressions.info/lookaround.html