Я боролся с этой проблемой некоторое время. У меня есть номера, которые отображаются в TextView. В этом текстовом обзоре я бы хотел, чтобы плавающий элемент отображался с точностью до 3, так как есть место только для 3 чисел. Вот несколько примеров того, что я пытаюсь достичь:
1 -> 1.00
0.34 -> 0.34
-12.34 -> -12.3
123.45 -> 123
Ввод всегда будет округляться до ближайшей сотой.
Я пытался использовать String.format и даже сделать собственный формат.
В настоящее время у меня есть логика, чтобы выяснить форматирование, но должен быть один вкладыш:
float abs_d = Math.abs(my_float);
String dist = "";
if (abs_d < 10) {
dist = String.format("%1.2f", d);
}
else if (abs_d < 100) {
dist = String.format("%2.1f", d);
}
else {
dist = String.format("%3.f",d);
}
my_text_view.setText(dist);
Возможно, есть хитрый способ сделать это с помощью TextView? Вы можете указать ширину пикселя, но как насчет ширины символа (но даже тогда, я бы принял отрицательный знак)? Я полагаю, что для этого должна быть какая-то библиотека Java.