Android-TextView Установить десятичное значение с неправильной печатью запятой

Для локализации моего приложения я использую strings.xml для трех языков.

у меня есть заявление

текущий баланс: руб. %0.2f

Я заполняю это во время выполнения, используя

getResources().getString(R.string.home_survey_text, user.demographicsPrice)

это, кажется, работает для английского и хинди, где я получаю значение как

текущий баланс: руб. 1,45

но для каннада я получаю

текущий баланс: руб. 1,45.

запятая отображается неправильно. Нужна помощь с той же рекомендацией по чтению stackoverflow, все, что может помочь, приветствуется.

Что вы подразумеваете под "запятая отображается неправильно"? Что неверно? что ты ожидал ?

vincrichaud 12.03.2019 11:45

Локализация — это боль для Android или любого другого приложения, если уж на то пошло. Вам нужно будет использовать NumberFormat или закодировать особый случай, связанный здесь: en.wikipedia.org/wiki/Десятичный_разделитель . Разделитель-запятая используется вместо разделителя точки в нескольких языках. Похоже, что в Android нет правильной настройки для каннада. Возможно, вы тоже захотите их прочитать; Индийская система счисления: stackoverflow.com/questions/5379231/… Символ валюты для Android: developer.android.com/reference/java/util/Currency

MD Naseem Ashraf 12.03.2019 12:01
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
72
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете использовать средство форматирования для форматирования вашего номера по вашему выбору.

NumberFormat formatter = new DecimalFormat("#.#");
String number = formatter.format(1/3);

число будет 0,3

NumberFormat formatter = new DecimalFormat("#,#");
String number = formatter.format(1/3);

число будет 0,3

Ответ принят как подходящий

Изменение значений-kn_IN на значения-kn в структуре папок помогло.

Другие вопросы по теме