|
python中字符串转为数字
在 Python 里,把字符串转换成数字可以使用不同的内置函数,这主要取决于字符串所代表的数字类型(整数或者浮点数)。下面是详细介绍:
### 1. 字符串转整数
若字符串代表的是整数,可使用 `int()` 函数。示例如下:
```python
# 定义一个代表整数的字符串
str_num = "123"
# 使用 int() 函数将字符串转换为整数
num = int(str_num)
print(num)
print(type(num))
```
在上述代码中,`int()` 函数会把字符串 `"123"` 转化成整数 `123`,并且 `type(num)` 显示其类型为 `int`。
不过,若字符串包含非数字字符(除了开头可能的正负号),`int()` 函数就会抛出 `ValueError` 异常。示例如下:
```python
str_num = "123abc"
try:
num = int(str_num)
except ValueError as e:
print(f"转换失败: {e}")
```
### 2. 字符串转浮点数
要是字符串代表的是浮点数,可使用 `float()` 函数。示例如下:
```python
# 定义一个代表浮点数的字符串
str_float = "3.14"
# 使用 float() 函数将字符串转换为浮点数
float_num = float(str_float)
print(float_num)
print(type(float_num))
```
此代码中,`float()` 函数会把字符串 `"3.14"` 转化成浮点数 `3.14`,`type(float_num)` 显示其类型为 `float`。
同样,若字符串包含无法转换为浮点数的字符,`float()` 函数也会抛出 `ValueError` 异常。示例如下:
```python
str_float = "3.14abc"
try:
float_num = float(str_float)
except ValueError as e:
print(f"转换失败: {e}")
```
### 3. 进制转换
`int()` 函数还支持将指定进制的字符串转换为十进制整数。可以通过第二个参数指定字符串的进制。示例如下:
```python
# 将二进制字符串转换为十进制整数
binary_str = "1010"
decimal_num = int(binary_str, 2)
print(decimal_num)
# 将十六进制字符串转换为十进制整数
hex_str = "FF"
decimal_num_hex = int(hex_str, 16)
print(decimal_num_hex)
```
在上述代码里,`int("1010", 2)` 把二进制字符串 `"1010"` 转换为十进制整数 `10`,`int("FF", 16)` 把十六进制字符串 `"FF"` 转换为十进制整数 `255`。
|
|