Проблема в моем приложении Anbdroid возникает, когда String.format
используется с флагом +
(ведущий знак перед числом), а текущий язык - RTL (в моем случае - иврит). Строка кода имеет вид, например:
String.format(Locale.US, "%+06.2f", n)
Для n=2
результат будет +02.00 (ожидается), если язык устройства - английский sh или любой другой LTR, но результат - 02.00+ ( неожиданно), когда язык устройства - иврит. Таким образом, знак для RTL находится в конце данного числа, несмотря на Locale.US
в качестве первого аргумента в String.format
.
Вопрос: как правильно использовать флаг +
в случае, когда устройство язык - RTL?
PS
Оказалось, что только на эмуляторе, на реальном устройстве удивительно хорошо. Я сожалею, что сначала не проверил проблему на реальном устройстве, полагаясь на эмулятор AVD Android Studio.