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