4

最初の桁が 0 であっても、C++ でコンパイラに特定の桁数を使用させる方法はありますか。例えば:

00001 のアイテム番号があり、ファイルから番号をインポートすると 1 が表示されます。5 桁すべてをインポートして 00001 として表示する必要があります。

これに使用する関数がわからず、コードが宣伝どおりに機能しているため、表示するコードが実際にはありません。それは私がやりたいことではありません。数値を文字列にすることもできますが、整数のままにしておくことをお勧めします。

4

3 に答える 3

11

用途std::setfillstd::setw機能:

#include <iostream>
#include <iomanip>

int main()
{
    std::cout << std::setfill('0') << std::setw(5) << 1;
}

出力:

00001

関連する質問を参照してください:
cout << 演算子を使用する場合、先行ゼロで int を埋め込むにはどうすればよいですか?
C++ 出力演算子 (printf と同等) で先行ゼロを出力しますか?

于 2013-03-26T12:29:35.803 に答える
0

通常、アイテム番号などは識別子として使用されます。それらが数字のように見えるという事実は気を散らすものです。それらを文字列として保存します。

于 2013-03-26T12:57:55.320 に答える
-1

基本的に、いいえ。ネイティブ データ型には、フォーマット情報は含まれません。フォーマットを自分で追跡する必要があります。数値を出力する必要がある場合にのみ、フォーマットが必要です。

簡単にする方法の 1 つは、数値と書式を組み合わせる、書式設定された数値のクラスを作成することです。

于 2013-03-26T12:33:35.740 に答える