小数点以下n桁を表示する


このエントリーをはてなブックマークに追加

Cだと

double num =  100.123456789101112;
printf("%.10lf\n", num);

で簡単に小数点以下10桁を出力できる。だが、C++だとそうはいかない。

#include <cstdio>
#include <iostream>
#include <iomanip>

using namespace std;

int main(void){
    double num = 100.123456789101112;
    printf("%.10lf\n", num); // C
    cout << fixed << setprecision(10) << num << endl; // C++
    return 0;
}

出力結果は

100.1234567891
100.1234567891

マニピュレータは覚えられる気がしない…。
参考:fixed - C++ Reference