```markdown
float
转换为 int
在 Python 中,float
类型表示浮点数,而 int
类型则表示整数。有时候,我们可能需要将一个 float
类型的数值转换为 int
类型。Python 提供了几种不同的方式来进行这种类型转换。
int()
函数最常见的方式是使用 Python 内置的 int()
函数。它可以将一个浮点数转换为整数,转换时会去掉小数部分,而不是四舍五入。
python
float_num = 5.67
int_num = int(float_num)
print(int_num) # 输出:5
int()
函数直接去掉小数部分(即截断),它并不会进行四舍五入。int(5.67)
会返回 5
,而 int(-5.67)
会返回 -5
。math.floor()
函数如果你希望将浮点数向下取整,即获取不大于原数的最大整数,可以使用 math.floor()
函数。
```python import math
float_num = 5.67 int_num = math.floor(float_num) print(int_num) # 输出:5 ```
math.floor()
函数会返回小于或等于浮点数的最大整数值。
math.ceil()
函数与 math.floor()
相反,math.ceil()
函数会将浮点数向上取整,即获取不小于原数的最小整数。
```python import math
float_num = 5.67 int_num = math.ceil(float_num) print(int_num) # 输出:6 ```
math.ceil()
返回大于或等于浮点数的最小整数值。
round()
函数(四舍五入)如果你希望将浮点数四舍五入到最接近的整数,可以使用 round()
函数。
python
float_num = 5.67
int_num = round(float_num)
print(int_num) # 输出:6
round()
函数会根据浮动部分的值来四舍五入浮点数。如果小数部分大于等于 0.5,则向上取整,否则向下取整。
round()
函数会返回一个整数类型(Python 3 中),但是它本质上返回的是一个浮点数类型的结果。可以再使用 int()
转换为整数类型。python
rounded_num = round(5.5) # 输出:6
int_num = int(rounded_num) # 输出:6
| 方法 | 描述 | 示例代码 |
|-----------------|------------------------------|---------------------------|
| int()
| 截断小数部分 | int(5.67)
返回 5
|
| math.floor()
| 向下取整 | math.floor(5.67)
返回 5
|
| math.ceil()
| 向上取整 | math.ceil(5.67)
返回 6
|
| round()
| 四舍五入 | round(5.67)
返回 6
|
根据你的需求选择合适的方式将浮点数转换为整数。如果你只需要截断小数部分,int()
是最直接的方式;如果需要四舍五入或向上/向下取整,则可以选择 round()
, math.floor()
, 或 math.ceil()
。
```