Как я могу отформатировать строку Python из числа с плавающей запятой с фиксированной длиной и шириной - PullRequest
0 голосов
/ 01 декабря 2018

При условии, что мой номер с плавающей запятой равен 12.3456, и мне нужно, чтобы он был напечатан как _12.34, что означает, что длина числа до . равна 3, а длина после . равна 2.Я попробовал это '{:.2f}'.format(12.3456), которое только дает мне 12.34, который сокращает пробел перед числом 1.Так, как я мог сделать мою потребность возможной?

Ответы [ 3 ]

0 голосов
/ 01 декабря 2018

Вы можете применить дополнительные .rjust(6) (6, потому что 3 + 2 цифры и десятичная точка):

>>> '{:.2f}'.format(12.3456).rjust(6)
' 12.35'
0 голосов
/ 01 декабря 2018

Как насчет того, чтобы сначала преобразовать число с плавающей точкой в ​​2 десятичных знака, а затем отформатировать его?Например, если вы хотите его усечь, используйте math.floor, или используйте round (), если хотите округлить или использовать десятичный модуль (десятичный импорт) десятичный модуль python

Пример кода с использованиемmath.floor:

import math
print('{0:_>6}'.format(math.floor(112.345*100)/100)) #112.34
print('{0:_>6}'.format(math.floor(12.345*100)/100))  #_12.34
0 голосов
/ 01 декабря 2018

Вы можете указать общую ширину отображаемой строки, поместив число перед точкой в ​​строке формата:

>>> '{:6.2f}'.format(12.3456)
' 12.35'
...