python实现四舍五入

python实现四舍五入

Scroll Down
"""
    四舍五入
    :param 
        - dicmal:需要四舍五入的小数
        - n:需要保留的位数,默认保留小数点后两位
"""
def round_up(dicmal, n=2):
      format_str = "%."+str(n)+"f"
      return format_str % dicmal

上面的函数等价于

result = "%.2f" % Decimal

这种方法其实使用的是python的字符串格式化,但是当Decimal为float类型的数据时,会自动进行四舍五入。

另外,总感觉这种用法并不严谨,可能在对某些特殊值进行操作时,会出现错误,但目前还没有发现,如果有人发现问题,还望不吝指教。