2013-04-23 45 views
1

我想不出一個更好的方法來留下一個整數零而不先將其轉換爲一個字符串。有沒有辦法做到這一點?我發現了很多關於這個問題的問題,但他們都需要一個字符串轉換。我明白,我們可以找到長度這種方法:有沒有一種很好的方式來填充零而不將它轉換爲字符串?

int length = (num==0) ? 1 : (int)Math.log10(num) + 1; 

然而,這仍然需要我將其轉換爲字符串和背部之後。當然,還有更好的辦法嗎?

+0

「左墊」意味着什麼。它對整數而言意味着什麼(因爲不變);它僅適用於整數的視覺(文本)表示。當你打印一個整數時,它被轉換成一個字符串。 – 2013-04-23 14:32:24

回答

4

No. int表示數學整數值,表示爲32位。數字0001是1,並且具有唯一的二進制表示。左側填充的整數不是整數。他們是絃樂隊。

1

不可以。數字類型不能包含前導零。格式化的文本表示這是一個特點,即Strings

0

既然你已經有了我猜前導零米的長度僅僅爲輸出,但最終你的問題是由另外兩個海報回答。

int length = (num==0) ? 1 : (int)Math.log10(num) + 1; 
String zeros; 
for(int i=0; i<length; i++) { 
    zeros = zeros.concat("0"); 
} 
System.out.println(zeros + num); 
相關問題