У меня проблема с форматированием десятичных значений для локализации на испанском (и других европейских языках, а также), когда десятичный разделитель для Испании выдается как запятая ,
.
Как я могу получить десятичный разделитель как точку .
?Десятичный разделитель формата
Вот код, который я использовал для форматирования десятичного числа
DecimalFormat twoDecimalForm = null;
twoDecimalForm = new DecimalFormat("#.##");
DecimalFormatSymbols.getInstance().setDecimalSeparator('.');
String valueInDecimal = twoDecimalForm.format(0.005 * progressValue);
//Exception here
Log.d(TAG,"valueInDecimal" + Double.valueOf(valueInDecimal));
Я получаю запятую ,
вместо из точки .
Обходных может быть заменить запятую с .
.
Но есть ли другие решения?
Многие страны используют запятую в качестве десятичного разделителя, поэтому было бы лучше просто разрешить это: https://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html –
@KenWolf Я выполняю некоторую математическую операцию над указанными выше значениями в возможных местах, которые возвращаются 'java.lang.NumberFormatException: Invalid double:' –
Просто не конвертируйте в число: 'Log.d (TAG," valueInDecimal = "+ valueInDecimal.replace (", ",". ");' –