可能重複:
How can I pad an int with leading zeros when using cout << operator?整型值問題
我怎麼能顯示01整數?
每當我字符串轉換爲整數時,我總是得到1而不是01
怎麼能得到一個01值。
可能重複:
How can I pad an int with leading zeros when using cout << operator?整型值問題
我怎麼能顯示01整數?
每當我字符串轉換爲整數時,我總是得到1而不是01
怎麼能得到一個01值。
由於您將它標記爲C++,使用C++的流進行處理的方式如下:
#include <sstream>
#include <iomanip>
#include <iostream>
int main() {
int value = 1;
std::stringstream ss;
ss.width(2);
ss << std::setfill('0') << value;
std::cout << ss.str() << std::endl; // displays '01'
}
如果使用的printf,使用下面的說明符甲酸
printf("%02d\n",myInt);
在此,0之後百分比指示前導零填充和2表示的2
場寬度爲一個整數,它將始終爲1, 只有當您將其重新顯示爲字符串以進行顯示時,才能顯示01。
,最好的辦法是使用中的printf
printf("%02d", x);
integer
類型使用其所有內存(通常爲32位或64位)來覆蓋它可能的最大可能範圍的不同整數值。它不會跟蹤任何格式/顯示信息。因此,即使是一個32位的值也可以跟蹤大約40億個不同的值,但是它們將被顯示在屏幕上,在文件等中必須由周圍代碼決定,並且不是integer
本身的屬性。所以,如果你有一個整數,你可以在顯示時選擇格式。有很多種方法可以做到這一點。大多數C++的方式是使用std::ostream
和<iomanip>
標題,其中包括對指定字段寬度和填充/填充字符的支持。有關示例,請參閱http://www.cplusplus.com/reference/iostream/manipulators/setw/,您可以按照「另請參閱」鏈接進行設置。選自C繼承的辦法是...
printf("%02d", n);
...其中,所述第一雙引號字符串部分包含一個「格式字符串」,其中%引入了一個轉換,0表示對墊和2是寬度,d表示參數列表中的下一個十進制/整數值。
不要混淆存儲的值與您想要的方式的介紹。
你可以使用:
#include <iostream>
#include <iomanip>
int main() {
int x = 1;
std::cout << std::setfill('0') << std::setw(2) << x << std::endl;
return 0;
}
,輸出:
01
什麼讓一個01值的使用
如下面的完整程序顯示詮釋?在int操作中,這和1有什麼區別? – 2011-02-08 07:20:29