在Python中,将字符串转换为数字可以使用 `int()` 或 `float()` 函数。以下是使用这些函数进行转换的示例:
使用 `int()` 函数
```python
s = '123'
n = int(s)
print(type(n)) 输出:
print(n) 输出: 123
使用 `float()` 函数
```python
s = '3.14'
f = float(s)
print(type(f)) 输出:
print(f) 输出: 3.14
处理异常情况
如果字符串不能被转换为有效的数字,会引发 `ValueError` 异常。可以使用 `try-except` 语句来处理这种情况:
```python
s = 'abc'
try:
num = int(s)
print(num)
except ValueError:
print('无法将字符串转换为数字')
转换16进制字符串
如果需要将16进制字符串转换为10进制整数,可以使用 `int()` 函数并提供基数16:
```python
a = '0x12'
n = int(a, 16)
print(n) 输出: 18
转换包含小数点的字符串
如果字符串包含小数点,应使用 `float()` 函数进行转换:
```python
s = '123.45'
f = float(s)
print(f) 输出: 123.45
转换包含负号的字符串
如果字符串包含负号,`int()` 函数会自动识别负号并转换为负整数:
```python
s = '-123'
n = int(s)
print(n) 输出: -123
转换包含空格的字符串
如果字符串首尾有空格,可以使用 `strip()` 函数去除空格:
```python
s = ' 123 '
n = int(s.strip())
print(n) 输出: 123
转换包含非数字字符的字符串
如果字符串包含非数字字符,`int()` 函数会引发 `ValueError` 异常,除非使用正则表达式或其他方法进行预处理:
```python
s = '123abc'
try:
n = int(s)
print(n)
except ValueError:
print('无法将字符串转换为数字')
以上是Python中字符串转换为数字的基本方法。如果需要更复杂的转换,例如从二进制、八进制或十六进制转换,可以使用 `int()` 函数并提供相应的基数。