How to format a number 0..9 to display with 2 digits (it's NOT a date)

后端 未结 5 1628
北恋
北恋 2020-11-28 02:56

I\'d like to always show a number under 100 with 2 digits (example: 03, 05, 15...)

How can I append the 0 without using a conditional to check if it\'s under 10?

相关标签:
5条回答
  • 2020-11-28 03:09

    If you need to print the number you can use printf

    System.out.printf("%02d", num);
    

    You can use

    String.format("%02d", num);
    

    or

    (num < 10 ? "0" : "") + num;
    

    or

    (""+(100+num)).substring(1);
    
    0 讨论(0)
  • 2020-11-28 03:11

    The String class comes with the format abilities:

    System.out.println(String.format("%02d", 5));
    

    for full documentation, here is the doc

    0 讨论(0)
  • 2020-11-28 03:23

    In android resources it's rather simple

    <string name="smth">%1$02d</string>
    
    0 讨论(0)
  • 2020-11-28 03:25

    You can use:

    String.format("%02d", myNumber)
    

    See also the javadocs

    0 讨论(0)
  • 2020-11-28 03:27

    You can use this:

    NumberFormat formatter = new DecimalFormat("00");  
    String s = formatter.format(1); // ----> 01
    
    0 讨论(0)
提交回复
热议问题