杨东明 发表于 2021-6-28 16:05:06

我想问问int('2.5')为啥会报错?

int('2.5',10),2.5小数不是也是十进制数吗??

阿奇_o 发表于 2021-6-28 16:05:07

杨东明 发表于 2021-6-28 16:23
不太懂为啥一定得是整型字符串,base默认为10,2.5不也是十进制得数吗。。

是 十进制,但不是 整数! —— 2.5 是浮点数!

int() 只能处理 “像 整数的字符串”,0-9 以外的字符都不行,如 . 小数点,+-正负号等其他字符,都不能处理。

OK?明白了?

suchocolate 发表于 2021-6-28 16:10:25

那不是字符串吗

逃兵 发表于 2021-6-28 16:12:26

本帖最后由 逃兵 于 2021-6-28 16:15 编辑

str 必须为整型

https://www.runoob.com/python/python-func-int.html

阿奇_o 发表于 2021-6-28 16:14:46

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:21:16

逃兵 发表于 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不是十进制数吗,转换为十进制数也没问题啊。。。

杨东明 发表于 2021-6-28 16:23:08

阿奇_o 发表于 2021-6-28 16:14
int 是 Integer 整数的意思,int() 专门用来将 像整数的字符串 转换为 相应数值型整数(整型),
如 int('0 ...

不太懂为啥一定得是整型字符串,base默认为10,2.5不也是十进制得数吗。。

Twilight6 发表于 2021-6-28 19:32:34



int 不允许转化非纯数字字符串,你字符串参数中有 . 小数点,导致 int 报错

杨东明 发表于 2021-6-28 20:17:49

阿奇_o 发表于 2021-6-28 16:05
是 十进制,但不是 整数! —— 2.5 是浮点数!

int() 只能处理 “像 整数的字符串”,0-9 以外的字符 ...

谢谢谢谢{:9_226:}

杨东明 发表于 2021-6-28 20:18:35

逃兵 发表于 2021-6-28 16:12
str 必须为整型

https://www.runoob.com/python/python-func-int.html

谢谢谢谢{:9_231:}

杨东明 发表于 2021-6-28 20:19:33

Twilight6 发表于 2021-6-28 19:32
int 不允许转化非纯数字字符串,你字符串参数中有 .小数点,导致 int 报错

谢谢谢谢{:9_231:}
页: [1]
查看完整版本: 我想问问int('2.5')为啥会报错?