std::ostream を使用した正確なフォーマット
std::cout を使用して正確なフォーマットを実現するにはどうすればよいですか?次の例を考えてみましょう。
<code class="cpp">double my_double = 42.0; char str[12]; printf_s("%11.6lf", my_double); // Prints " 42.000000"</code>
このコードでは、printf_s を使用して double my_double を特定の精度と幅でフォーマットして出力します。 std::ostream の同等の機能は、ストリーム マニピュレータを使用して実現できます。
std::cout を使用して「42.000000」を出力するには、これらのマニピュレータを順番に適用します。
std:: fix: 科学表記法ではなく固定小数点表記法を設定します。
std::setw(11): 出力フィールドの幅を 11 文字に設定します。
std::setprecision(6): 小数点の後に表示する桁数を指定します。
正しいコードは次のようになります。
<code class="cpp">#include <iomanip> std::cout << std::fixed << std::setw(11) << std::setprecision(6) << my_double;</code>
これこのアプローチにより、サードパーティのライブラリやカスタム文字列操作に頼ることなく、std::ostream を使用して double 値を正確にフォーマットできます。
std::ostream のフォーマットに関する包括的なリファレンスについては、C 標準ライブラリのドキュメントを参照してください。特に「ストリーム マニピュレータ」に関するセクション。
以上がprintf_s のような std::ostream で正確な書式設定を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。