You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python输入10.1时int()函数报错无法转换为整数是什么原因

报错原因
  • 首先input()函数的返回值固定为字符串类型,你输入10.1后,变量a的实际值是字符串'10.1',并非数值型的浮点数10.1。
  • int()函数对不同类型入参的校验规则不同:
    • 若传入浮点数类型参数,int()会直接截断小数部分返回整数,例如int(10.1)可以正常返回10
    • 若传入字符串类型参数,要求字符串内容必须严格符合十进制整数的格式,仅可包含数字、可选的正负号前缀,不能包含小数点、字母等其他字符。'10.1'包含小数点,不符合格式要求,因此会抛出ValueError类型的报错。
修复方案

如果需要支持输入带小数的数值并转换为整数,可以先把字符串转成浮点数,再转整数,修改后的代码如下:

a = input()
b = int(float(a))
print(b)

内容的提问来源于stack exchange,提问作者Sumit Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:18:02