Повышение не требуется, хотя должен быть способ сделать это с boost::format
или sprintf
, если хотите.
#include <iostream>
#include <iomanip>
int main()
{
std::string numStr("3.14159265");
double num(atof(numStr.c_str()));
std::cout
<< std::setprecision(2)
<< std::scientific << num
<< std::fixed << num;
return 0;
}
Редактировать: Неправильно читать вопрос, если вы хотите перейти от double
к std::string
Я бы использовал std::ostringstream
, который поддерживает те же манипуляторы iostream и оператор вставки. Затем вы можете позвонить str()
, чтобы получить из него строку.