c++ 的字符串转数字
时间: 2023-07-05 18:36:54 浏览: 45
C++ 中可以使用 `std::stoi()` 函数将字符串转换为整数。例如:
```cpp
#include <iostream>
#include <string>
int main() {
std::string num_str = "123";
int num = std::stoi(num_str);
std::cout << num << std::endl; // 输出:123
return 0;
}
```
如果需要将字符串转换为浮点数,可以使用 `std::stof()` 函数。例如:
```cpp
#include <iostream>
#include <string>
int main() {
std::string float_str = "3.14";
float num = std::stof(float_str);
std::cout << num << std::endl; // 输出:3.14
return 0;
}
```
需要注意的是,如果字符串无法转换为对应的数字类型,这些函数会抛出 `std::invalid_argument` 异常,如果转换后的值超出了对应类型的范围,会抛出 `std::out_of_range` 异常。因此在使用这些函数时,需要进行异常处理。
相关问题
C++ 字符串转数字
在C语言中,可以使用以下方法将字符串转换为数字:
1. 使用库函数atoi():这个函数可以将字符串转换为整数。例如:
```c
char str[] = "123";
int num = atoi(str);
```
这样就将字符串"123"转换为整数123。
2. 使用库函数atof():这个函数可以将字符串转换为浮点数。例如:
```c
char str[] = "3.14";
float num = atof(str);
```
这样就将字符串"3.14"转换为浮点数3.14。
3. 使用库函数sscanf():这个函数可以根据指定的格式将字符串转换为特定类型的数据。例如:
```c
char str[] = "456";
int num;
sscanf(str, "%d", &num);
```
这样就将字符串"456"转换为整数456,并存储在变量num中。
4. 使用库函数strtol():这个函数可以将字符串转换为长整数。例如:
```c
char str[] = "789";
long num = strtol(str, NULL, 10);
```
这样就将字符串"789"转换为长整数789。
以上是C语言中将字符串转换为数字的几种常用方法。你可以根据需要选择合适的方法进行转换。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [C++ 字符串和数字之间的相互转换](https://blog.csdn.net/weixin_43390123/article/details/116094291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [C++中将字符串转换为数字](https://blog.csdn.net/qq_46906413/article/details/122824849)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
c++ 字符串转数字
可以使用 `std::stoi` 函数将字符串转换为整数。例如:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "123";
int num = std::stoi(str);
std::cout << num << std::endl; // 输出 123
return 0;
}
```
如果字符串无法转换为整数,`std::stoi` 函数会抛出 `std::invalid_argument` 或 `std::out_of_range` 异常。