是否可以在Python中将结果从float转换为整数?

时间:2018-01-28 13:49:38

标签: python

我用单个函数编写了一个简单的脚本,但我想将结果从float转换为整数数据类型。在这种情况下是否可能?

这是脚本

def minutes_to_hours(minutes):
    hours=minutes/60
    return hours
def seconds_to_hours(seconds):
    hours=seconds/int(3600)
    return hours
print(minutes_to_hours(100))
print(seconds_to_hours(int(3600)))

结果是

1.6666666666666667
1.0

结果是正确的,但正如您所见,我想将数据类型从float更改为整数(1而不是1.0),是否可能?

与python函数相关。

2 个答案:

答案 0 :(得分:2)

Python的内置函数完成了这项工作:

>>> print(int(seconds_to_hours(int(3600)))
1
>>> print(type(int(seconds_to_hours(int(3600))))
<class 'int'>
>>> 

请注意,您的代码hours=seconds/int(3600)不生成整数,而不是C.如果要进行整数除法,请使用双斜杠:

hours=seconds//int(3600)
#            ^^

如果您想将其转换为int而不知道是否可以,请使用此函数:

def try_int(v)
    try:
        return int(v)
    except ValueError:
        return v

然后,您只能将那些能够转换为int的转化为int

答案 1 :(得分:1)

只需输入您的结果。

e.g。

a = 1.000
b = int(a)  #typeCasting to int
print(b)    # or return (int(return Value)) in your code