逍遥僧 发表于 2022-5-23 23:33:13

初学者,Python零基础,int()函数,请前辈们指教!

>>> int('8')
8
>>> int('8.5')
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
    int('8.5')
ValueError: invalid literal for int() with base 10: '8.5'

都是字符串,'8'和'8.5'结果差太远,请问是怎么回事

wp231957 发表于 2022-5-23 23:45:08

因为8.5和整型数字中间差了一个浮点型
也就是说浮点型字符串只能先转浮点型然后再转整型,不能直接转整型

jackz007 发表于 2022-5-23 23:48:36

本帖最后由 jackz007 于 2022-5-23 23:50 编辑

   int() 的参数可以是字符串、整型数,也可以是浮点数,是字符串的时候,内容必须是正整数,不可以是浮点数或含有非数字字符,否则,就会出错。
   int('8.5') 的报错就是这个原因。

逍遥僧 发表于 2022-5-24 00:27:01

jackz007 发表于 2022-5-23 23:48
int() 的参数可以是字符串、整型数,也可以是浮点数,是字符串的时候,内容必须是正整数,不可以是浮 ...

谢谢前辈的耐心解答,这下算是清楚些了

月下孤井 发表于 2022-5-24 01:59:44

'8.5'是一个由'8', '.', '5' 三个字符所组成的字符串,中间那个点字符不是数字,怎么能用int()呢, int('.')肯定是错误的,这样说不知道是不是好理解一点

逍遥僧 发表于 2022-5-24 08:15:58

月下孤井 发表于 2022-5-24 01:59
'8.5'是一个由'8', '.', '5' 三个字符所组成的字符串,中间那个点字符不是数字,怎么能用int()呢, int('.')肯 ...

这样说,更好理解了,谢谢前辈
页: [1]
查看完整版本: 初学者,Python零基础,int()函数,请前辈们指教!