如果要 始终
舍入(而不是舍入到最接近的精度),则可以使用
math.floor()函数显式地进行舍入:
from math import floordef floored_percentage(val, digits): val *= 10 ** (digits + 2) return '{1:.{0}f}%'.format(digits, floor(val) / 10 ** digits)print floored_percentage(0.995, 1)演示:
>>> from math import floor>>> def floored_percentage(val, digits):... val *= 10 ** (digits + 2)... return '{1:.{0}f}%'.format(digits, floor(val) / 10 ** digits)... >>> floored_percentage(0.995, 1)'99.5%'>>> floored_percentage(0.995, 2)'99.50%'>>> floored_percentage(0.99987, 2)'99.98%'


