如何在Python中实现integer与float两类数据类型的互相转换?
Python中int(整数)与float(浮点数)的相互转换方法
1. int转float
直接使用Python内置的float()构造函数即可,转换后会自动在整数后补.0生成对应浮点数。
- 基础示例代码:
# 定义整数变量 int_num = 10 # 转换为浮点数 float_num = float(int_num) print(float_num) # 输出:10.0 print(type(float_num)) # 输出:<class 'float'>
负数、零的整数转换规则完全一致,无需额外适配:
print(float(-5)) # 输出:-5.0 print(float(0)) # 输出:0.0
2. float转int
使用内置的int()构造函数转换,转换规则是直接截断浮点数的小数部分,仅保留整数位,默认不会做四舍五入。
- 基础示例代码:
# 定义浮点数变量 float_num1 = 3.99 float_num2 = 2.1 float_num3 = -4.6 # 转换为整数 int_num1 = int(float_num1) int_num2 = int(float_num2) int_num3 = int(float_num3) print(int_num1) # 输出:3 print(int_num2) # 输出:2 print(int_num3) # 输出:-4
如果需要四舍五入后再转整数,可以搭配内置的
round()函数使用:
print(int(round(3.99))) # 输出:4 print(int(round(2.1))) # 输出:2
常见注意点
- 当浮点数数值超过普通int的可表示范围时,转换不会报错,Python原生支持大整数运算
- 不要直接对浮点数转int后和原整数做
==判断,因为浮点数存在精度误差,比如0.1+0.2得到的是0.30000000000000004,转int后结果为0而非预期的0(如果是0.9+0.1则可能得到1.0,转int后为1,结果不可控)
内容的提问来源于stack exchange,提问作者Inu_901
相关产品推荐
相关产品推荐

