C++如何将字符串转为数值
时间: 2023-05-31 09:04:29 浏览: 119
C语言中可以使用函数库中的函数将字符串转为数值,例如:
1. atoi()函数:将字符串转为整数。
```c
#include <stdlib.h>
int atoi(const char *str);
```
示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str1[] = "123";
char str2[] = "456.789";
int num1 = atoi(str1);
int num2 = atoi(str2);
printf("%d\n", num1); // 123
printf("%d\n", num2); // 456
return 0;
}
```
2. atof()函数:将字符串转为浮点数。
```c
#include <stdlib.h>
double atof(const char *str);
```
示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str1[] = "123.456";
char str2[] = "789";
double num1 = atof(str1);
double num2 = atof(str2);
printf("%f\n", num1); // 123.456000
printf("%f\n", num2); // 789.000000
return 0;
}
```
3. strtol()函数:将字符串转为长整数。
```c
#include <stdlib.h>
long int strtol(const char *str, char **endptr, int base);
```
示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str1[] = "123";
char str2[] = "0x1A";
char *endptr;
long int num1 = strtol(str1, &endptr, 10);
long int num2 = strtol(str2, &endptr, 16);
printf("%ld\n", num1); // 123
printf("%ld\n", num2); // 26
return 0;
}
```
4. strtod()函数:将字符串转为双精度浮点数。
```c
#include <stdlib.h>
double strtod(const char *str, char **endptr);
```
示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str1[] = "123.456";
char str2[] = "789";
char *endptr;
double num1 = strtod(str1, &endptr);
double num2 = strtod(str2, &endptr);
printf("%f\n", num1); // 123.456000
printf("%f\n", num2); // 789.000000
return 0;
}
```
阅读全文