2013-07-15 42 views
16

我做了划分数字,然后返回数字,但问题是,当它返回数它有这样一个小数的程序:的Python:删除师小数

2.0 

但我想它给我:

2 

所以有反正我可以做到这一点?

在此先感谢!

+0

请告诉我们你的代码。 – martineau

+0

你也可以使用'//整数除法',它总是给出一个int,例如'1 // 2'给出'0' – Copperfield

回答

32

您可以在最终结果调用int()

>>> int(2.0) 
2 
+2

ValueError:int()的无效文字10:'68.0' – Kyrie

+2

@Kyrie你可以这样做int(float('68 .0'))' – TerryA

+2

@TerryA它不会在int(1.9999999999999999999)的情况下工作,我怎样才能删除小数? – Bear

21

当数为十进制它通常是Python中的float

如果你想删除的小数,并保持它的整数(int)。您可以拨打int()方法就可以了,像这样......

>>> int(2.0) 
2 

然而,int回合所以......

>>> int(2.9) 
2 

如果你想圆你可以使用最接近的整数round

>>> round(2.9) 
3.0 
>>> round(2.4) 
2.0 

然后调用该int()

>>> int(round(2.9)) 
3 
>>> int(round(2.4)) 
2 
+0

如果这对你有帮助,你可以[接受我的答案](http://meta.stackexchange.com/a/5235/192545) –

+1

如果数量很大,该怎么办? – Jeff

+0

@Jeff你为什么不检查自己? Python没有用数字大小的问题。 –

1
>>> int(2.0) 

你会得到答案为2

+5

这是什么添加,但尚未出现在其他答案? –