2017-02-09 23 views

ответ

9

Вы путаете округление с форматированием. Округление создает новый объект float с округленным значением, которое все еще собирается печатать точно так же, как и любой другой поплавок:

>>> print(31.00) 
31.0 

Используйте format() function, если вам необходимо произвести строку с определенным количеством знаков после запятой :

>>> print(format(31.0, '.2f')) 
31.00 

Смотрите раздел, какие варианты у вас есть в наличии Format Specification Mini-Language.

Если значение является частью большей строки, вы можете использовать str.format() method вставлять значения в шаблон строки, используя те же самые характеристики форматирования:

>>> a = 5 * 6.2 
>>> print('The value of "a" is {:.2f}'.format(a)) 
+0

Спасибо! Означает ли это, что использование print (format (31.0, '.2f')) создает строку? Это больше не поплавок? – username

+0

@tochau: 'format()' создает строку, используя данную спецификацию, из значения с плавающей запятой. 'print()' затем выводит эту строку на консоль или терминал. –

+0

Вижу, спасибо за разъяснение! – username

5

Python делает раунд до 3 знаков после запятой. Это печать, которая сокращает дополнительные нули. Попробуйте что-нибудь наподобие print("%.3f" % number)

6

Python всегда печатает по крайней мере одну цифру после запятой так что вы можете рассказать разницу между целыми числами и поплавками.

Функция round() просто округляет число до указанного количества знаков после запятой. Он не контролирует, как он печатается. 7.36 и 7.360 - одинаковое число, поэтому более короткая печатная.

Для управления печатью можно использовать форматирование. Например:

print(".3f" % b) 

 Смежные вопросы

  • Нет связанных вопросов^_^