Хотелось бы упомянуть, что старый метод make () с тэгом
round(f) = floor(f+0.5)
в стиле round () может быть повернут, чтобы сделать floor () из round ()
floor(f) = round(f-0.5)
Хотя оба эти правила ломаются вокруг отрицательных чисел, поэтому использование его меньше идеала:
def trunc(f, n):
if f > 0:
return "%.*f" % (n, (f - 0.5*10**-n))
elif f == 0:
return "%.*f" % (n, f)
elif f < 0:
return "%.*f" % (n, (f + 0.5*10**-n))