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

可紊 提交于 2019-11-26 07:58:45

问题


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?

I need to append the result to another String, so I cannot use printf.


回答1:


You can use:

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

See also the javadocs




回答2:


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);



回答3:


You can use this:

NumberFormat formatter = new DecimalFormat("00");  
String s = formatter.format(1); // ----> 01



回答4:


The String class comes with the format abilities:

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

for full documentation, here is the doc




回答5:


In android resources it's rather simple

<string name="smth">%1$02d</string>


来源:https://stackoverflow.com/questions/12421444/how-to-format-a-number-0-9-to-display-with-2-digits-its-not-a-date

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!