Учитывая значение x и целое число n (присваивается во время выполнения), я хочу вывести x с точностью до n цифр после десятичной дроби (после округления, если необходимо).
print(round(x, n))
отлично работает для (x,n)=(3.141592, 3)
, но для (x,n)=(2.5,5)
печатает только 2.5
, а не 2.50000
(5 цифр после десятичной точки).
Если бы я знал n во время выполнения, скажем, 5, я мог бы сделать
@printf("%.5f", x)
Но для того, чтобы @printf был макросом, нужно знать n во время компиляции.
Возможно ли это с помощью какой-нибудь show
магии или чего-то еще?