How to format longs in android to always display two digits
android, formatting, java
Solution
You can accomplish it with DecimalFormat:
NumberFormat f = new DecimalFormat("00");
long time = 9;
textView.setText(f.format(time));
Output:
09
Or you can use String.format() as well:
String format = "%1$02d"; // two digits
textView.setText(String.format(format, time));
Problem
I have a countdown timer which shows seconds from 60 to 0 (1 min countdown timer). When it reaches 1 digit numbers such as 9,8,7.. it shows 9 instead of 09. I tried using `String.format("%[B]02d[/B]", x);` where I converted x from long to string. It didn't work. I want an equivalent of `String.format("%2d", 1)`