Tworzę program Java dla systemu Android, który odbiera podwójne wartości od użytkownika. Jeśli uruchomię program na komputerze, działa świetnie, ponieważ jest to język mojego komputera, EN_UK. Ale kiedy uruchomię go na moim telefonie komórkowym z locale FI_FI, to nie zadziała. Znam powód: w Wielkiej Brytanii ludzie używają kropki jako separatora dziesiętnego, ale tutaj w Finlandii separatorem dziesiętnym jest przecinek.Podwaja, przecinki i kropki
DecimanFormat df = new DecimalFormat("#.#");
Double returnValue = Double.valueOf(df.format(doublenumber));
Kiedy używam przecinka, jest to java.lang.NumberFormatException: Invalid double: "1234,5"
.
Jak mogę sprawić, aby działało z nimi zarówno przecinkiem, jak i kropką?
Dlaczego nie można po prostu analizować ciąg i zastąpić przecinek z kropkami w razie potrzeby? – guitarflow
Niezbyt inteligentnym rozwiązaniem jest najpierw zastąpić przecinki kropkami, a następnie traktować liczbę tak, jakby była sformatowana kropką. –