使用Python 3.4.3
int(1 / 1e-3)
1000
int(1 / 1e-4)
10000
int(1 / 1e-5)
99999
int(1 / 1e-6)
百万
int(1 / 1e-7)
千万
错误或功能?有什么特别的原因吗?
答案 0 :(得分:1)
浮点数并不准确。只有二进制数。
>>> '%.25f' % 1e-5
'0.0000100000000000000008180'
>>> '%.25f' % (1/1e-5)
'99999.9999999999854480847716331'
因此1/1e-5
小于100000
且int
切断了分形部分。
转换为int,舍入就是答案:
>>> int(round(1/1e-5))
100000