c++ 格式化输出 double

#include <iomanip>
#include <ios>
#include <iostream>
#include <sstream>
#include <string>

using namespace std;


int main() {
    double a = 12345678;
    double b = 0.000012345;

    // cout<<a<<endl;
    // cout<<b<<endl;
    // cout<<endl;

    // cout<<setprecision(5)<<a<<endl;
    // cout<<setprecision(3)<<b<<endl;
    // cout<<endl;

    // cout<<setprecision(5)<<setw(9)<<a<<endl;
    // cout<<setprecision(3)<<setw(9)<<b<<endl;
    // cout<<endl;

    // cout<<fixed<<setprecision(5)<<setw(15)<<a<<endl;
    // cout<<fixed<<setprecision(3)<<setw(15)<<b<<endl;
    // cout<<endl;

    stringstream ss;
    ss << fixed<<setprecision(5)<<setw(15)<<a<<endl;
    string s1 = ss.str();
    // ss.clear();
    ss.str("");
    ss<<fixed<<setprecision(5)<<setw(15)<<a<<endl;
    string s2 = ss.str();
    cout<<s1<<endl;
    cout<<s2<<endl;
    cout << setw(10) << left <<setprecision(7) << a << endl;//setw(n)和left位置可互换
    return 0;
}
文章目录