2012-08-07 79 views
12

如何在Java中以兩位數格式存儲整數?就像我可以設置以兩位數格式在Java變量中保存整數

int a=01; 

,並打印作爲01?此外,不僅打印,如果我說int b=a;,b也應該打印它的值爲01

+4

整數都是整數。 *假設沒有八進制符號*(在Java文字中有),那麼1 = 01 = 001 = ..您正在尋找將**整數**轉換爲具有該格式的**字符串**。 – 2012-08-07 17:53:30

+0

首先,int可以表示遠大於99的值。如果你需要這樣的表示,那麼創建你自己的類。 – 2012-08-07 17:54:11

+2

我認爲你正在尋找這樣的東西:[使用Java字符串格式格式整數](http://stackoverflow.com/questions/6034523/format-an-integer-using-java-string-format) – nkr 2012-08-07 17:56:20

回答

48

我認爲這是你在找什麼:

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

System.out.println(aFormatted); 

,或者更簡單:

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

的int只是存儲量,以及01和1代表相同的量,即使它們以相同的方式存儲。

DecimalFormat構建一個字符串,表示特定格式的數量。

+0

像魅力一樣工作。謝謝你的朋友。 – 2014-04-18 11:09:17

6

這是不可能的,因爲整數是一個整數。但是,如果需要,可以格式化整數(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

應該是「%02d」而不是「%2d」 – DiveIntoML 2017-07-26 19:23:01

1

看看下面的格式及其上面的格式工作不能爲我工作

的String.format( 「%02D」,爲mynumber)