C语言把字符串转化成数字,并且如果首字符为0且下一个字符不是小数点的话,把字符0去掉,直到首字符不为0
时间: 2023-06-02 16:02:16 浏览: 108
以下是一个示例代码,可以实现将字符串转化为数字并去掉首字符为0的情况:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
// 如果首字符为0且下一个字符不是小数点,去掉0
if (str[0] == '0' && str[1] != '.') {
int i;
for (i = 0; i < strlen(str); i++) {
str[i] = str[i+1];
}
}
// 将字符串转化为数字
int num = atoi(str);
printf("The number is: %d\n", num);
return 0;
}
```
在上面的代码中,我们使用了`atoi()`函数将字符串转化为数字。如果字符串的首字符为0且下一个字符不是小数点,我们使用一个循环移动每个字符,将首字符0去掉。最后输出转化后的数字。
相关问题
C语言把字符串转化成浮点数
可以使用库函数atof()将字符串转换为浮点数。
例如:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "3.1415926";
float num = atof(str);
printf("%f\n", num);
return 0;
}
```
输出结果为:3.141593
注意:使用该方法时,需要确保字符串中只包含数字和小数点,否则会产生错误。
c语言 将数字字符串转换为数字
可以使用C语言标准库函数 `atoi()` 或 `atof()` 来将数字字符串转换为数字。
`atoi()` 函数将一个字符串转换为整数。它的函数原型如下:
```c
int atoi(const char *str);
```
其中,`str` 是要转换为整数的字符串。`atoi()` 函数将从字符串开头开始读取数字,直到遇到非数字字符为止。如果字符串开头不是数字字符,则返回0。
例如,下面的代码将字符串 `"123"` 转换为整数值 123:
```c
#include <stdlib.h>
#include <stdio.h>
int main() {
char str[] = "123";
int num = atoi(str);
printf("%d\n", num);
return 0;
}
```
输出结果为:
```
123
```
`atof()` 函数将一个字符串转换为浮点数。它的函数原型如下:
```c
double atof(const char *str);
```
其中,`str` 是要转换为浮点数的字符串。`atof()` 函数将从字符串开头开始读取数字和小数点,直到遇到非数字或非小数点字符为止。如果字符串开头不是数字字符,则返回0.0。
例如,下面的代码将字符串 `"3.14"` 转换为浮点数值 3.14:
```c
#include <stdlib.h>
#include <stdio.h>
int main() {
char str[] = "3.14";
double num = atof(str);
printf("%f\n", num);
return 0;
}
```
输出结果为:
```
3.140000
```