2012-09-14 37 views

Trả lời

335

Bạn có thể sử dụng:

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

Xem thêm các javadocs

+1

gì nếu myNumber là một đôi? – Fra

+1

@Fra, sau đó bạn sẽ sử dụng 'String.format ("% 02.0f ", myNumber)' nếu bạn không muốn các số sau dấu thập phân – beny23

41

Nếu bạn cần in số bạn có thể sử dụng printf

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

Bạn có thể sử dụng

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

hoặc

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

hoặc

(""+(100+num)).substring(1); 
+1

Sử dụng định dạng chậm nhất, nhưng rõ ràng hơn và ít hơn không thể đi sai lầm khủng khiếp. ví dụ. nếu num là -1. ;) –

29

Bạn có thể sử dụng này:

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

NIce! .......... – Naitik

3

Lớp String đi kèm với khả năng định dạng:

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

cho tài liệu hướng dẫn đầy đủ, đây là số doc

+0

Nó nói 'java.util.IllegalFormatConversionException:% d không thể định dạng java.lang.Double arguments' –

0

Trong nguồn android nó khá đơn giản

<string name="smth">%1$02d</string> 
Các vấn đề liên quan