python:获取没有小数位的数字

时间:2010-08-03 16:05:05

标签: python

a=123.45324

是否有一个仅返回123的函数?

5 个答案:

答案 0 :(得分:25)

int将始终截断为零:

>>> a = 123.456
>>> int(a)
123
>>> a = 0.9999
>>> int(a)
0
>>> int(-1.5)
-1

intmath.floor之间的区别在于math.floor将数字作为浮点数返回,并且不会截断为零。

答案 1 :(得分:3)

Python 2.x:

import math
int( math.floor( a ) )

N.B。由于处理花车的复杂原因,int演员是安全的。

Python 3.x:

import math
math.floor( a )

答案 2 :(得分:3)

您可以使用math.trunc()函数:

a=10.2345
print(math.trunc(a))

答案 3 :(得分:2)

a = 123.45324
int(a)

答案 4 :(得分:0)

如果要同时使用小数部分和非小数部分:

def split_at_decimal(num):
    integer, decimal = (int(i) for i in str(num).split(".")) 
    return integer, decimal

然后:

>>> split_at_decimal(num=5.55)
(5, 55)