python плавающее действительное число, сохраняющее значащие цифры, даже когда все они равны нулю - PullRequest
0 голосов
/ 25 апреля 2020

Мне нужно нарисовать цифру с указанным c числом значащих цифр, даже когда все равны нулю. Я имею в виду, что если у меня есть число, например 12.00000000, я хотел бы напечатать 12.000, а не 12.

Вот что я пробовал:
Учитывая число, прочитанное из файла

a='23.00000000'

Я конвертирую его в число с плавающей точкой и задаю количество цифр как

 b = float(a)
float("{:.3f}".format(b))

Однако это результат:

Out[]: 23.0

, в то время как я хотел бы получить

Out[]: 23.000

Ответы [ 2 ]

1 голос
/ 25 апреля 2020

Проблема в строке:

float("{:.3f}".format(b))

"{:.3f}".format(23.0) даст вам '23.000', но затем вы преобразуете его в число с плавающей точкой, что удаляет завершающие 0.

Чтобы исправить это, вы можете сделать:

"{:.3f}".format(b)

, и это приведет к: '23.000'

0 голосов
/ 25 апреля 2020

Я думаю, что ваша проблема с частью прорисовки. Вы можете изменить точность сюжета. Тем не менее, я думаю, что вы можете использовать формат :

Использование формата:

a = '23.00000000'
b = float(a)
b = format(b, '.3f')
...