Python, хотите напечатать float в точном формате + -00.00 - PullRequest
6 голосов
/ 01 февраля 2012

Мне нужно отформатировать число с плавающей точкой в ​​формате + -00.00, пробовал базовое форматирование строки, но не могу получить начальный знак + или - или два ведущих 0, если значение дробное, есть указатели?

Ответы [ 3 ]

13 голосов
/ 01 февраля 2012

'% + 06.2f'% 1.1123344

+ means always use sign
0 means zero fill to full width.
6 is the total field width including sign and decimal point
.2 means 2 decimals.
f is float
6 голосов
/ 01 февраля 2012

Используйте '%+06.2f' для правильной установки ширины и точности.Эквивалент с использованием строк формата нового стиля - '{:+06.2f}'.format(n) (или '{0:+06.2f}', если ваша версия Python требует позиционный компонент).

0 голосов
/ 01 февраля 2012

Использование этого должно сделать это

x = 50.4796
a = -50.1246

print " %+2.2f" % (x)
print " %+2.2f" % (a)

Следующее должно напечатать

+50.48
-50.12
...