字符串和数字是Python中常用的两种数据或变量类型。在使用这些类型时,我们可能需要将字符串转换为数字类型。因为字符串类型由字符组成,不能用于数学计算。但是数字类型可以用于不同的数学计算。数字类型可以是整数或浮点数。在本教程中,我们将学习如何在Python中将字符串转换为数字。
Python数字或数字类型(整数、浮点、复数)
在学习将字符串转换为数字类型之前,我们应该先了解什么是数字类型。Python提供了3种数字类型:integer、floating point和复数。
- 整数类型 是不包含浮点数的十进制数。
- 浮点 类型用于存储数字的十进制和浮点部分。
- 复数 是日常生活中不常用的特殊数字。
将字符串转换为整数
可以使用int()方法将字符串类型转换为整数类型。字符串只能由数字字符组成。如果它包含非数字字符,转换将引发异常。
a="3"b="5"x = int(a) + int(b)print(x)
8
如果字符串包含带有数字字符的空格,则会自动修剪或删除这些空格,这不会阻止字符串到int的转换。
a=" 3"
b="5 "
x = int(a) + int(b)
print(x)
8
int()方法的字符串到数字的转换并不完美。如果字符串包含除空格以外的非数字字符,int()方法将引发异常。例外是“ ValueError:以10为基数的int()的文本无效: “这意味着给定的字符串文本作为十进制类型无效。
a="3g"
b = int(a)
![图片[1]-在Python中将字符串转换为数字-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2021/05/pythontect_image.png)
如果提供的字符串是浮点,则转换也会引发异常。因为点字符用于浮点,而将其与int()方法一起使用是错误的。我们不能使用int()方法将浮点文字转换为浮点类型。
a = "3.0"
b = "5.5"c = int(a)d = int(b)
![图片[2]-在Python中将字符串转换为数字-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2021/05/pythontect_image-1.png)
将字符串转换为浮点
浮点是另一种流行的数字类型。float()方法用于将字符串转换为浮点类型。点字符用于分割小数和浮点部分。
a = "3.0"
b = "5.5"
c = float(a)
d = float(b)
float()方法还转换未以浮点格式提供的字符串。这意味着在看起来像整数的地方不需要点,但是通过使用float()方法,它被转换为浮点。
a = "3"
b = "5"
c = float(a)
print(c)
d = float(b)print(d)
3.05.0
与int()方法类似,如果字符串提供除空格和点以外的非数字字符,则float()方法也会引发异常。例外是“ ValueError:无法将字符串转换为浮点值: “.
a = "3.4df"b = "5.rr"c = float(a)d = float(b)
将字符串转换为复数
复数是日常生活中不常用的特殊数。复数与数学理论有关。complex()方法可用于将复数字符串转换为复数类型。
a = "6+4j"b = "8+9j"x = complex(a)print(x)y = complex(b)print(y)
(6+4j)(8+9j)
如果提供的字符串不是复数格式,则“ ValueError:complex()arg是格式错误的字符串 “complex()方法返回异常。
a = "6+4jee"
b = "8+ 9 j"
x = complex(a)
y = complex(b)
![图片[3]-在Python中将字符串转换为数字-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2021/05/pythontect_image-2.png)