std::cout.precision() は、表示される小数点以下の桁数を制御するために使用される関数です。浮動小数点値の場合。ただし、特定のシナリオでは、末尾のゼロが期待どおりに出力されない場合があります。
次のコード スニペットを考えてみましょう:
#include <iostream> #include <stdlib.h> int main() { int a = 5; int b = 10; std::cout.precision(4); std::cout << (float)a / (float)b << "\n"; return 0; }
このコードでは、予期される 0.5000 ではなく 0.5 が出力されます。これは、元の整数データ型が原因ではなく、デフォルトで末尾のゼロ抑制がないことが原因です。
末尾のゼロを正しく表示するには、std::fixed マニピュレータを使用する必要があります:
std::cout << std::fixed; std::cout << std::setprecision(4); std::cout << (float)a / (float)b << "\n";
この追加により、コードは意図したとおり 0.5000 を出力するようになります。 std::fixed マニピュレータは、浮動小数点値を固定小数点以下の桁数でフォーマットし、末尾のゼロが確実に保持されるように指定します。
以上が`std::cout.precision()` がデフォルトで末尾のゼロを出力しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。