字符串转换成十进制整数
时间: 2023-09-28 11:09:56 浏览: 88
可以使用循环遍历字符串的每一位,将每一位上的数字乘以对应的进制值,然后累加起来即可得到结果。具体实现可以参考下面的代码:
```python
def str_to_int(s, base=10):
if not s:
return 0
is_negative = s[0] == '-'
if is_negative:
s = s[1:]
res = 0
for c in s:
digit = ord(c) - ord('0')
if not 0 <= digit < base:
raise ValueError('Invalid digit')
res = res * base + digit
return -res if is_negative else res
```
其中,`s` 表示要转换的字符串,`base` 表示要转换的进制,默认为十进制。首先判断字符串是否为空,如果为空则返回0。接着判断字符串的正负号,并将其去除。然后遍历字符串的每一位,将每一位上的数字乘以对应的进制值,然后累加起来。最后根据字符串的正负号返回对应的结果。如果字符串中包含无效的数字,则抛出`ValueError`异常。
相关问题
字符串转换成十进制整数 c语言
C语言中可以使用库函数`atoi()`将字符串转换成十进制整数。该函数定义在<stdlib.h>头文件中,使用时需要先包含该头文件。
示例代码如下:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "12345";
int num = atoi(str); // 将字符串转换成十进制整数
printf("%d\n", num);
return 0;
}
```
输出结果:
```
12345
```
需要注意的是,如果字符串不能转换成整数,`atoi()`函数将返回0。因此,我们需要在使用之前判断字符串是否有效。
C语言字符串转换成十进制整数。
可以使用C语言中的标准库函数`atoi()`将字符串转换成十进制整数。`atoi()`函数的原型为:
```c
int atoi(const char *str);
```
其中,`str`为要转换的字符串。
示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "12345";
int num;
num = atoi(str);
printf("转换后的整数为:%d\n", num);
return 0;
}
```
输出结果为:
```
转换后的整数为:12345
```