Как при форматировании строки установить переменное значение точности для вещественных чисел?
Собственно в заголовке весь вопрос уже полностью дан, но повторю его. Как в ('%.3f' % i) где i это число, заменить 3 перед f на число в переменной?
Ответы (2 шт):
Автор решения: Кирилл Малышев
→ Ссылка
Используйте f-строки:
i = 1/3
p = 5
res = f'{i:.{p}f}' # '0.33333'
Автор решения: Andy Pavlov
→ Ссылка
Через обычный str.format() тоже можно подставить переменную.
i = 5
print('%.{}f'.format(i))
Либо, если нужно сразу вывести в строку результат, а не подготовить, к примеру, шаблон, то можно так:
value = 0.1
precision_count = 4
print('{0:.{1}f}'.format(value, precision_count)) # 0.1000