Как форматировать longs в android для отображения двух цифр
У меня есть таймер обратного отсчета, который показывает секунды от 60 до 0 (таймер обратного отсчета 1 мин). Когда он достигает 1 цифры цифр, таких как 9,8,7.., он показывает 9 вместо 09. Я попытался использовать String.format("%[B]02d[/B]", x);
, где я преобразовал x из long в строку. Это не сработало.
Мне нужен эквивалент String.format("%2d", 1)
Ответы
Ответ 1
Вы можете выполнить его с помощью DecimalFormat:
NumberFormat f = new DecimalFormat("00");
long time = 9;
textView.setText(f.format(time));
Вывод:
09
Или вы можете использовать String.format():
String format = "%1$02d"; // two digits
textView.setText(String.format(format, time));
Ответ 2
Использование: text.setText(String.format(" %02d", i));
где i
- целочисленное значение
Ответ 3
Почему бы просто не использовать оператор if?
String str = x < 10 ? "0" + String.valueOf(x) : String.valueOf(x);
Это должно сделать трюк.
Ответ 4
Akshat Bhai попытается использовать это:
tv.setText(new DecimalFormat("##").format(var));
Ответ 5
TextView time;
int hour=0,minute=0,second=0;
time.setText((String.format("%02d", hour))+":"+(String.format("%02d", minute))+":"+(String.format("%02d", second)));
время для TextView