std::stringstream::str()
- это метод, который вы ищете.
С std::stringstream
:
template <class T>
std::string YourClass::NumericToString(const T & NumericValue)
{
std::stringstream ss;
ss << NumericValue;
return ss.str();
}
std::stringstream
- более общий инструмент. Вы можете использовать более специализированный класс std::ostringstream
для этой конкретной работы.
template <class T>
std::string YourClass::NumericToString(const T & NumericValue)
{
std::ostringstream oss;
oss << NumericValue;
return oss.str();
}
Если вы работаете с типом строк std::wstring
, вы должны вместо этого выбрать std::wstringstream
или std::wostringstream
.
template <class T>
std::wstring YourClass::NumericToString(const T & NumericValue)
{
std::wostringstream woss;
woss << NumericValue;
return woss.str();
}
если вы хотите, чтобы тип символа вашей строки мог выбираться во время выполнения, вы также должны сделать его переменной шаблона.
template <class CharType, class NumType>
std::basic_string<CharType> YourClass::NumericToString(const NumType & NumericValue)
{
std::basic_ostringstream<CharType> oss;
oss << NumericValue;
return oss.str();
}
Для всех описанных выше методов вы должны включить следующие два заголовочных файла.
#include <string>
#include <sstream>
Обратите внимание, что аргумент NumericValue
в приведенных выше примерах также может быть передан как std::string
или std::wstring
для использования с экземплярами std::ostringstream
и std::wostringstream
соответственно. Для NumericValue
необязательно указывать числовое значение.