Ответ 1
#include <iomanip>
using namespace std;
// ...
out << fixed << val;
// ...
Вы также можете использовать setprecision
для установки числа десятичных цифр:
out << fixed << setprecision(2) << val;
У меня возникают проблемы с преобразованием двойной строки в С++. Вот мой код
std::string doubleToString(double val)
{
std::ostringstream out;
out << val;
return out.str();
}
Проблема заключается в том, что двойной передается как "10000000". Затем возвращаемое строковое значение равно 1e + 007
Как я могу получить строковое значение как "10000000"
#include <iomanip>
using namespace std;
// ...
out << fixed << val;
// ...
Вы также можете использовать setprecision
для установки числа десятичных цифр:
out << fixed << setprecision(2) << val;
#include <iomanip>
std::string doubleToString(double val)
{
std::ostringstream out;
out << std::fixed << val;
return out.str();
}
Вы также можете установить минимальную ширину и заполнить char с помощью манипуляторов STL IO, например:
out.width( 9 ); out.fill( ' ' );