什么是强制转换为 int?
在 Python 中,int() 是一个内置函数,用于将其他数据类型(如字符串、浮点数、布尔值等)显式转换为整数类型(int)。
这个过程称为“强制类型转换”或“类型转换”。
基本语法
int(x, base=10)
x:要转换的值(字符串、数字等)base:进制,默认为 10(十进制),仅当x是字符串时有效
常见转换示例
1. 字符串转整数
>>> int("42")
>>> int("-100")
-100
注意:字符串必须表示有效的整数,否则会抛出 ValueError。
2. 浮点数转整数
>>> int(3.14)
>>> int(-2.9)
-2
浮点数转换时会直接截断小数部分(向零取整),不会四舍五入。
3. 布尔值转整数
>>> int(True)
>>> int(False)
4. 其他进制字符串转整数
>>> int("1010", 2) # 二进制
>>> int("FF", 16) # 十六进制
常见错误与异常
>>> int("3.14")
ValueError: invalid literal for int() with base 10: '3.14'
>>> int("hello")
ValueError: invalid literal for int() with base 10: 'hello'
解决方案:先用 float() 转换,再转 int()(如果适用):
>>> int(float("3.14"))
实用技巧
- 使用
try-except捕获转换异常,提高程序健壮性。 - 对用户输入进行验证后再转换,避免程序崩溃。
- 注意空字符串
""、None等无法直接转为int。
交互式小测试(JavaScript 演示)
输入任意值,点击“转换”查看是否能成功转为整数: