什么是从int | double到string的转换的简洁C++习语?

Joa*_*m W 0 c++

通过相关的问答来看,转换为字符串的最佳C++实践似乎是

ostringstream stringStream;
stringStream << input_value;        // let's say, input_value is a double
output_string = stringStream.str();
Run Code Online (Sandbox Code Playgroud)

有没有办法在不到三行干净的C++中实现相同的目标?

jua*_*nza 12

使用std::to_string函数系列:

std::string s = std::to_string(3.1416);
Run Code Online (Sandbox Code Playgroud)

如果您没有所需的C++ 11,则另一个选项是boost::lexical_cast.

std::string s = boost::lexical_cast<std::string>(3.1416);
Run Code Online (Sandbox Code Playgroud)


Jes*_*ood 10

是的,使用std :: to_string:

output_string = std::to_string(input_value);
Run Code Online (Sandbox Code Playgroud)

(对于C++ 03,请查看boost::lexical_cast).

  • 请注意,这是一个"C++ 11"功能 (3认同)