Я делаю Java-программу для Android, которая принимает двойные значения от пользователя. Если я запускаю программу на компьютере, она прекрасно работает из-за локали моего компьютера, EN_UK. Но когда я запускаю его на своем мобильном телефоне с локалью FI_FI, это не сработает. Я знаю причину: в Великобритании люди используют точку в качестве десятичного разделителя, но здесь, в Финляндии, десятичный разделитель - запятая.
DecimalFormat df = new DecimalFormat("#.#");
Double returnValue = Double.valueOf(df.format(doubleNumber));
Когда я использую запятую, он говорит java.lang.NumberFormatException: Invalid double: "1234,5"
.
Как я могу заставить это работать с ними обоими, запятой и точкой?