>>> 1000000000*1000000000000/2
5e+20
>>> int(1000000000*1000000000000/2)
500000000000000000000
>>>
这是为何?加个int就变成那样了,不加就用科学计数法表?为啥(问题一)
>>> 1000000000*1000000000000/2==int(1000000000*1000000000000/2)
True#说明这两个相等
>>> 1000000000*1000000000000/2+2==1000000000*1000000000000/2
True#为什么不为False?不是左边加2了吗?
>>> int(1000000000*1000000000000/2)+2==int(1000000000*1000000000000/2)
False
恳请指导!谢谢
int()函数是将数据转化为十进制整数,而一般情况下,python会将数据自动显示为科学计数法的模式。对于图二第4行,由于使用科学计数法,对于数据过大的时候,较小的数据会被忽略,所以为真.而使用int函数后,采用是十进制计数法,此时再小的数据也不能忽略,结果为假。