python无法将float转换为int

时间:2013-01-15 03:10:07

标签: python casting

我有一点问题要理解为什么python不会将浮点数转换为int。以下是代码段。

import time

now = time.time()
print type(now)
int(now)
print type(now)

这是我得到的结果,我无法弄明白为什么。有任何想法吗?提前致谢

<type 'float'>
<type 'float'>

3 个答案:

答案 0 :(得分:8)

你必须重新分配now,如下:

now = int(now)

int()转换无法正常运行 - 它只返回转化结果,这就是您需要将now重新分配给新值的原因。

作为一般规则,功能会返回新值,而方法会在适当的位置运行。有关函数和方法之间的区别,请参阅this question

答案 1 :(得分:3)

int()无法就地运作。您仍然需要覆盖now

now = int(now)

虽然我马上就这么做了:

now = int(time.time())

答案 2 :(得分:3)

您现在从未设置为int版本

import time
now = time.time()
print type(now)
now = int(now) # set now to int version
print type(now)