2015-06-16 125 views
1

我一直在寻找在蟒蛇,它说的online doc for round() function我在理解round()函数时缺少什么?

round(number[, ndigits])

....返回值是,如果用一个参数调用一个整数,否则相同类型的号码。

所以,我写了下面的代码。

x = round(32.7) 
print 'x is now : ', x 
print str(type(x)) 
print type(x).__name__ 

让我解释我在上面的代码片段中使用的最后两个打印。

  1. 第二次打印是通过试错法。 (今天是我的Python第1天)
  2. 第三次打印是参照this answer加入的。

令人惊讶地,电流输出是

X现在:33.0
<类型 '浮动' >
浮子

期待

X现在是:33
<类型 '诠释' >
INT

我的想法。我错过了什么?

P.S.对于任何感兴趣的人,一个LIVE VERSION

+1

? – wim

+3

您使用的是Python 2,但是指的是python 3文档。 – Vincent

+0

@wim事实上,一个noobie的错误。 2.7是。 –

回答

8

在python 2.x中,round总是返回一个浮点数。

根据您的打印语句的语法判断,您使用的是Python 2.x.

+0

谢谢Wim。有时会接受。:-) –

+0

如果您不介意,另外一个Q,第二个和第三个打印语句的语法是否正确? –

+0

@SouravGhosh对于Python 2,是的。对于Python 3,没有。 –

0

而不是使用圆形的......!试试这个,因为圆形功能是四舍五入的浮点值..

但是圆形和类型转换成int都做同样的工作@背景

希望这有助于..!

x = int(32.7) 
print 'x is now :',x 
print str(type(x)) 
print type(x).__name__ 

y=32.7 
x=int(y) 
print 'x is now :',x 
print str(type(x)) 
print type(x).__name__ 
您正在使用什么版本的Python
+0

感谢您的回答,但我实际上正在尝试'round()'本身。尽管如此,感谢你的努力:-) –

+0

它的好处..所有最好的 –