Python с плавающей точкой на строку: как получить «0.03», но «-.03» - PullRequest
1 голос
/ 09 марта 2011

Существует ли быстрый способ преобразования числа с плавающей запятой между -0,99 и +0,99, чтобы оно всегда занимало 4 символа: т.е. положительные значения переходят, например, в «0,03», но отрицательные значения, например, в «-.03»,ведущий ноль?Очевидно, что я мог бы сделать

s = '%4.2f' % n
if s[0] == '-':
    s = '-%s' % s[2:]

, но, возможно, некоторые стековые потоки знают о ярлыке Python?

Ответы [ 2 ]

5 голосов
/ 09 марта 2011

Ну, вы могли бы сделать это:

"{0: 3.2f}".format(n)

Пробел указывает, что для положительных чисел следует печатать пробел, а для отрицательных чисел знак. Таким образом, они всегда имеют одинаковую ширину.

2 голосов
/ 09 марта 2011
s = ('%4.2f' % n).replace('-0','-')
...