我希望我的零是其他一些 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^^^
除了使用 setw
和 setfill
在单行代码中获得我想要的输出外,我没有任何想法
您可以使用 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^^^
double floaty=36.6736872;
cout<<fixed<<setprecision(10)<<floaty;
我的输出是“36.6736872000”;
我希望我的零是其他数字。
例如:如果我希望零为 ^
.
那么输出应该是36.6736872^^^
除了使用 setw
和 setfill
在单行代码中获得我想要的输出外,我没有任何想法
您可以使用 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^^^