C++で小数点以下2桁の数字を表示する方法


C++で小数点以下2桁の数字を表示する方法には、いくつかの方法があります。以下にそれぞれの方法とコードの例を示します。

  1. iostream ライブラリの精度指定: この方法では、std::cout ストリームの精度を設定することで小数点以下の桁数を制御します。
#include <iostream>
#include <iomanip> // std::setprecision
int main() {
    double number = 3.14159265359;
    std::cout << std::fixed << std::setprecision(2) << number << std::endl;
    return 0;
}

このコードでは、std::fixed を使用して小数点以下の桁数を固定し、std::setprecision(2) で表示する桁数を2桁に指定しています。出力結果は 3.14 となります。

  1. printf 関数の書式指定子: printf 関数では、書式指定子 %f を使用して小数点以下の桁数を指定することができます。
#include <cstdio>
int main() {
    double number = 3.14159265359;
    printf("%.2f\n", number);
    return 0;
}

このコードでは、%.2f のように書式指定子に .2 を指定することで、小数点以下の桁数を2桁に設定しています。出力結果は 3.14 となります。

  1. stringstream クラスを使用する方法: std::stringstream クラスを使用すると、文字列への変換を行った後、小数点以下の桁数を制御することができます。
#include <iostream>
#include <sstream>
#include <iomanip> // std::setprecision
int main() {
    double number = 3.14159265359;
    std::stringstream ss;
    ss << std::fixed << std::setprecision(2) << number;
    std::cout << ss.str() << std::endl;
    return 0;
}

このコードでは、std::stringstream オブジェクト ss を使用して、std::fixedstd::setprecision(2) を適用しています。ss.str() を使用して文字列として取得し、それを std::cout で表示しています。出力結果は 3.14 となります。

これらの方法を使用すると、C++で小数点以下2桁の数字を表示することができます。選択する方法は、使用するコンテキストや好みによって異なります。