2012-08-07 45 views
12

Làm cách nào để lưu trữ một số nguyên ở định dạng hai chữ số trong Java? Giống như tôi có thể đặtLưu số nguyên theo định dạng hai chữ số trong một biến trong Java

int a=01; 

và in nó là 01? Ngoài ra, không chỉ in, nếu tôi nói int b=a;, b cũng nên in giá trị của nó là 01.

+4

Số nguyên là số nguyên. * Giả sử không có ký hiệu bát phân * (có trong Java literals) thì 1 = 01 = 001 = .. Bạn đang tìm cách để biến ** số nguyên ** thành ** Chuỗi ** với định dạng đó .. –

+0

Trước hết , int có thể biểu thị giá trị lớn hơn 99. Nếu bạn cần đại diện như vậy, hãy tạo lớp của riêng bạn. –

+2

Tôi nghĩ rằng bạn đang tìm kiếm một cái gì đó như thế này: [Định dạng một số nguyên sử dụng định dạng chuỗi Java] (http://stackoverflow.com/questions/6034523/format-an-integer-using-java-string-format) – nkr

Trả lời

48

Tôi nghĩ rằng đây là những gì bạn đang tìm kiếm:

int a = 1; 
DecimalFormat formatter = new DecimalFormat("00"); 
String aFormatted = formatter.format(a); 

System.out.println(aFormatted); 

Hoặc, ngắn gọn hơn:

int a = 1; 
System.out.println(new DecimalFormat("00").format(a)); 

Một int chỉ lưu trữ một số lượng và 01 và 1 đại diện cho số lượng tương tự như vậy chúng được lưu trữ theo cùng một cách.

DecimalFormat tạo một Chuỗi đại diện cho số lượng theo một định dạng cụ thể.

+0

Làm việc như một sự quyến rũ. cảm ơn bạn. –

6

Điều này là không thể, vì một số nguyên là một số nguyên. Nhưng bạn có thể định dạng Số nguyên, nếu bạn muốn (DecimalFormat).

9
// below, %2d says to java that I want my integer to be formatted as a 2 digit 
// representation 
String temp = String.format("%2d", yourIntValue); 
// and if you want to do the reverse 
int i=Integer.parse(temp); 

// 2 -> 02 (for example) 
+0

Phải là "% 02d" thay vì "% 2d" – DiveIntoML

1

nhìn vào định dạng dưới đây công việc của mình trên định dạng không thể làm việc cho tôi

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

Các vấn đề liên quan