最初の桁が 0 であっても、C++ でコンパイラに特定の桁数を使用させる方法はありますか。例えば:
00001 のアイテム番号があり、ファイルから番号をインポートすると 1 が表示されます。5 桁すべてをインポートして 00001 として表示する必要があります。
これに使用する関数がわからず、コードが宣伝どおりに機能しているため、表示するコードが実際にはありません。それは私がやりたいことではありません。数値を文字列にすることもできますが、整数のままにしておくことをお勧めします。
用途std::setfill
とstd::setw
機能:
#include <iostream>
#include <iomanip>
int main()
{
std::cout << std::setfill('0') << std::setw(5) << 1;
}
出力:
00001
関連する質問を参照してください:
cout << 演算子を使用する場合、先行ゼロで int を埋め込むにはどうすればよいですか?
C++ 出力演算子 (printf と同等) で先行ゼロを出力しますか?
通常、アイテム番号などは識別子として使用されます。それらが数字のように見えるという事実は気を散らすものです。それらを文字列として保存します。
基本的に、いいえ。ネイティブ データ型には、フォーマット情報は含まれません。フォーマットを自分で追跡する必要があります。数値を出力する必要がある場合にのみ、フォーマットが必要です。
簡単にする方法の 1 つは、数値と書式を組み合わせる、書式設定された数値のクラスを作成することです。