我希望我的零是其他一些 number/character (C++)

I want my zeros to be some other number/character (C++)

double floaty=36.6736872;
cout<<fixed<<setprecision(10)<<floaty;

我的输出是“36.6736872000”;

我希望我的零是其他数字。
例如:如果我希望零为 ^.

那么输出应该是36.6736872^^^

除了使用 setwsetfill 在单行代码中获得我想要的输出外,我没有任何想法

您可以使用 std::ostringstream,并以您认为合适的任何方式更改结果字符串:

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

int main()
{
    double floaty=36.6736872;
    std::ostringstream strm;

    // Get the output as a string  
    strm << std::fixed << std::setprecision(10) << floaty;
    std::string out = strm.str();

    // Process the output
    auto iter = out.rbegin();
    while (iter != out.rend() && *iter == '0')
    {
       *iter = '^';
       ++iter;
    }
    std::cout << out;
}

输出:

36.6736872^^^