Преобразование Double в String в C++
У меня возникли некоторые проблемы, пытаясь преобразовать строку double в C++. Вот мой код
std::string doubleToString(double val)
{
std::ostringstream out;
out << val;
return out.str();
}
проблема у меня есть, если двойной передается как "10000000". Тогда возвращаемое строковое значение равно 1e+007
Как я могу получить строковое значение как "10000000"
3 ответов
#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();
}
вы также можете установить минимальную ширину и заполнить символ манипуляторами STL IO, например:
out.width( 9 ); out.fill( ' ' );