std::string与int、double相互转换
时间: 2023-11-14 07:07:11 浏览: 236
std::string与int、double之间的相互转换可以通过以下方法实现:
1. 将int或double转换为std::string:
- 对于int,可以使用std::to_string函数将其转换为字符串。
- 对于double,可以使用std::to_string函数将其转换为字符串。请注意,这可能会导致精度丢失。
例如:
```cpp
int num_int = 42;
double num_double = 3.14;
std::string str_int = std::to_string(num_int);
std::string str_double = std::to_string(num_double);
```
2. 将std::string转换为int或double:
- 对于int,可以使用std::stoi函数将字符串转换为整数。
- 对于double,可以使用std::stod函数将字符串转换为双精度浮点数。
例如:
```cpp
std::string str_num = "42";
int num_int = std::stoi(str_num);
std::string str_double = "3.14";
double num_double = std::stod(str_double);
```
请注意,在进行字符串到数字的转换时,如果字符串包含无效的数字或者超出了目标类型的范围,将会抛出异常。因此,在实际使用中,需要进行适当的错误处理。
阅读全文