2015-06-16 4 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. Вторая печать осуществляется методом проб и ошибок. (Сегодня мой день 1 для Python)
  2. Третий отпечаток добавлен со ссылкой на this answer.

Удивительно, но выход ток является

х теперь: 33,0
< типа 'поплавок' >
поплавок

Я ожидал

х сейчас: 33
< тип 'INT' >
INT

Я из идей. Что мне не хватает?

P.S. Для любого заинтересованного, a LIVE VERSION

+1

Какую версию Python вы используете? – wim

+3

Вы используете python 2, но ссылаетесь на документацию python 3. – Vincent

+0

@wim Действительно, ошибка noobie. 2.7. –

ответ

8

В python 2.x, round всегда возвращает поплавок.

Судя по синтаксису ваших утверждений печати, вы находитесь на python 2.x.

+0

Спасибо, Вим. Иногда будет принимать.:-) –

+0

если вы не возражаете, один дополнительный Q, является вторым и третьим оператором печати в правильном синтаксисе? –

+0

@SouravGhosh Для Python 2, да. Для Python 3 нет. –

0

Вместо того, чтобы использовать круглый! ... попробовать это, потому что круглая функция округлена значения поплавок ..

Однако круглые и типа литья в целое и делать ту же работу @ фон

Надежда это помогает..!!

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__ 
+0

Спасибо за ваш ответ, но я фактически экспериментировал с 'round()' сам. Тем не менее, оцените ваши усилия :-) –

+0

его хорошо .. все лучшее –