阅读量:100
std::stod 和 std::to_string 是 C++ 标准库中的两种函数,它们用于将不同类型的数据转换为字符串。
- std::stod:这个函数用于将一个字符串转换为浮点数(double)。它接受一个
const char*类型的参数,并返回一个double类型的值。如果输入的字符串不能被解析为有效的浮点数,那么结果将是 0.0,并且std::invalid_argument异常将被抛出。
示例:
#include
#include
#include
int main() {
std::string str = "3.14";
try {
double d = std::stod(str);
std::cout << "Converted string to double: "<< d class="hljs-built_in">catch (const std::invalid_argument& e) {
std::cerr << "Invalid argument: " << e class="hljs-built_in">what() << std class="hljs-keyword">return 0;
}
- std::to_string:这个函数用于将一个整数(包括有符号和无符号类型)或浮点数(包括
float、double和long double类型)转换为字符串。它接受一个模板参数T,表示要转换的数据类型,以及一个参数,表示要转换的值。函数返回一个std::string类型的值。
示例:
#include
#include
int main() {
int i = 42;
double d = 3.14;
std::string int_str = std::to_string(i);
std::string double_str = std::to_string(d);
std::cout << "Integer as string: " << int class="hljs-string">"Double as string: " << double class="hljs-keyword">return 0;
}
总结:
std::stod用于将字符串转换为浮点数,如果输入的字符串无法解析为有效的浮点数,将抛出异常。std::to_string用于将整数或浮点数转换为字符串,支持多种数据类型。