How to format longs in android to always display two digits

后端 未结 5 1050
无人共我
无人共我 2021-02-12 23:19

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

相关标签:
5条回答
  • 2021-02-12 23:39

    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));
    
    0 讨论(0)
  • 2021-02-12 23:41

    Use: text.setText(String.format("%02d", i)); where i is the integer value

    0 讨论(0)
  • 2021-02-12 23:44

    Try using this:

    tv.setText(new DecimalFormat("##").format(var));
    
    0 讨论(0)
  • 2021-02-12 23:45
    TextView time; 
    int hour=0,minute=0,second=0;
    time.setText((String.format("%02d", hour))+":"+(String.format("%02d", minute))+":"+(String.format("%02d", second)));
    

    time to TextView

    0 讨论(0)
  • 2021-02-12 23:47

    Why not just use an if statement?

    String str = x < 10 ? "0" + String.valueOf(x) : String.valueOf(x);
    

    That should do the trick.

    0 讨论(0)
提交回复
热议问题