ホームページ >バックエンド開発 >C++ >「std::cout.precision()」 が期待どおりに末尾のゼロを表示しないのはなぜですか?

「std::cout.precision()」 が期待どおりに末尾のゼロを表示しないのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-11 08:26:02304ブラウズ

Why Doesn't `std::cout.precision()` Display Trailing Zeros as Expected?

末尾ゼロ表示のための std::cout.precision() の正しい使用法

std::cout.precision() を使用して指定された精度) は、浮動小数点数をフォーマットするときに含める小数点以下の桁数を決定します。ただし、場合によっては、末尾のゼロが期待どおりに表示されないことがあります。

次のコード スニペットを考えてみましょう:

このコードは、2 つの整数を浮動小数点として除算した結果を出力しようとしています。 - 小数点以下 4 桁の精度のポイント番号。ただし、出力には予期された「0.5000」ではなく「0.5」が表示されます。これは、除算の実行時に整数データ型が暗黙的に浮動小数点に変換されるが、精度が整数から浮動小数点への変換に特に適用されていないために発生します。

末尾のゼロを正しく表示するには、追加のマニピュレータ std::fixed は、std::cout:

とともに使用する必要があります。std::fixed マニピュレータは、浮動小数点数を固定小数点表記で出力するように std::cout に指示します。これには次のものが含まれます。末尾のゼロ。 std::setprecision(4) マニピュレータは、出力が小数点以下 4 桁の精度を持つように指定します。

std::fixed マニピュレータを組み込むことにより、コード スニペットの出力には末尾のゼロが正しく表示されるようになりました。予想どおり「0.5000」です。

以上が「std::cout.precision()」 が期待どおりに末尾のゼロを表示しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。