Если вы ниже 3,6, вы можете дважды отформатировать:
_NKS = 3 # shortened for 79 line char limit
V_values = [3.123456789]
print(" {{:.{}f}}".format(_NKS ).format(round(V_values[0], _NKS )))
Первый format
помещает 3
вместо {}
и преобразует двойные {{
и }}
вsingle {
и }
- результирующая строка {:.3f}
затем используется для второй format
.
Как указал @ user2357112 в комментарии, формат лучше, чем я.Это также работает:
print(" {:.{}f}".format(round(V_values[0], _NKS ),_NKS ))
Вывод:
3.123
Вам не нужно, если вы уже используете 3.6 - f-струны справляются с этим лучше:
_NACHKOMMASTELLEN = 3
V_values = [3.123456789]
print(f" {round(V_values[0], _NACHKOMMASTELLEN):.{_NACHKOMMASTELLEN}f}")
V_values = [3.1]
print(f" {round(V_values[0], _NACHKOMMASTELLEN):.{_NACHKOMMASTELLEN}f}")
Вывод:
3.123
3.100