请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制、八进制、十进制、十六进制数字)
之前就有兄台提过这个问题,但是一直没有人回答。。我想再抛出来,学习一下。
请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制、八进制、十进制、十六进制数字)
之前就有兄台提过这个问题,但是一直没有人回答。。我想再抛出来,学习一下。
>>> def check_int(num):
... try:
... result = isinstance(eval(num), int)
... except TypeError:
... result = isinstance(num, int)
... return result
...
测试结果:
>>> check_int(3)
True
>>> oct(3)
'0o3'
>>> check_int(oct(3))
True
>>>
>>> hex(3)
'0x3'
>>> check_int(hex(3))
True
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.7k 阅读✓ 已解决
4 回答13.2k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
5 回答7.7k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
突然发现
!NaN
是true,改了一下我的思路是对1求余就好,如果得到0以外的值就不是整数了,仅限js,其他语言没试过。
js运算会自动转换类型,所以给个十六进制字符串都没问题。