特定の精度にC ++番号の書式を設定する方法?
-
22-09-2019 - |
質問
私はあなたが(例えば、2.00とは対照的に2.0000を持っている)フロートのための精密なフラグを設定するiomanip使用できることを理解します。
整数のため、これを行うための可能な方法はありますか?
I 000e8a00だけではなく、e8a00または00000000というよりも0と表示に進数をしたいと思います。
これは標準ライブラリを使用して、C ++で可能ですか?
解決
マニピュレータ付きます:
std::cout << std::setfill('0') << std::setw(8) << std::hex << 0 << std::endl;
マニピュレータなします:
std::cout.fill('0');
std::cout.width(8);
std::cout.setf(std::ios::hex, std::ios::basefield);
std::cout << 42 << std::endl;
他のヒント
また、ブーストでこれを行うことができます::私は頻繁に見つける形式は、入力を保存します:
タグ
std::cout << boost::format("%08x\n") % 0xe8a00;
あなたは同じ書式設定を行う必要があり、複数の場所を持っている場合、それはまた、いくつかの素晴らしいコードの再利用を可能にします:
boost::format hex08("%08x"); std::cout << hex08 % 0xe8aa << std::endl;
所属していません StackOverflow