我想问问int('2.5')为啥会报错?
int('2.5',10),2.5小数不是也是十进制数吗?? 杨东明 发表于 2021-6-28 16:23不太懂为啥一定得是整型字符串,base默认为10,2.5不也是十进制得数吗。。
是 十进制,但不是 整数! —— 2.5 是浮点数!
int() 只能处理 “像 整数的字符串”,0-9 以外的字符都不行,如 . 小数点,+-正负号等其他字符,都不能处理。
OK?明白了? 那不是字符串吗 本帖最后由 逃兵 于 2021-6-28 16:15 编辑
str 必须为整型
https://www.runoob.com/python/python-func-int.html int 是 Integer 整数的意思,int() 专门用来将 像整数的字符串 转换为 相应数值型整数(整型),
如 int('0010', base=10) --> 10# 默认是针对像十进制的 整型字符串
你也可以指定 其他进制的整型字符串,如:
In : int('0010', base=10)
Out: 10
In : int('0010', base=2)
Out: 2
In : int('0100', base=16)
Out: 256
非整型的,浮点数类型字符串,可以用 float() 逃兵 发表于 2021-6-28 16:12
str 必须为整型
https://www.runoob.com/python/python-func-int.html
这里面不是写了这一段:
2、若 x 为 str,则 base 可略可有。
base 存在时,视 x 为 base 类型数字,并将其转换为 10 进制数字。
若 x 不符合 base 规则,则报错。
2.5不是十进制数吗,转换为十进制数也没问题啊。。。 阿奇_o 发表于 2021-6-28 16:14
int 是 Integer 整数的意思,int() 专门用来将 像整数的字符串 转换为 相应数值型整数(整型),
如 int('0 ...
不太懂为啥一定得是整型字符串,base默认为10,2.5不也是十进制得数吗。。
int 不允许转化非纯数字字符串,你字符串参数中有 . 小数点,导致 int 报错
阿奇_o 发表于 2021-6-28 16:05
是 十进制,但不是 整数! —— 2.5 是浮点数!
int() 只能处理 “像 整数的字符串”,0-9 以外的字符 ...
谢谢谢谢{:9_226:} 逃兵 发表于 2021-6-28 16:12
str 必须为整型
https://www.runoob.com/python/python-func-int.html
谢谢谢谢{:9_231:} Twilight6 发表于 2021-6-28 19:32
int 不允许转化非纯数字字符串,你字符串参数中有 .小数点,导致 int 报错
谢谢谢谢{:9_231:}
页:
[1]