首页 > 解决方案 > 是否可以编辑 Python 浮点方法,在不指定的情况下舍入每个浮点输出?

问题描述

更新以反映一个更好的问题:

并不是说这是一个好习惯,只是好奇是否有人知道如何覆盖 Python Float函数类型,以便它舍入每个输出而无需执行任何单独的操作,这样如果你在一个班级,每个数字得到返回被四舍五入。

例如:

class example():    
    def float():
       #modify to return value for any float to round to 2 places
    a = 5 * 7.567 #= 37.835
    print(a) # a's value as 37.84

注意:我认为这是不可能的。只是好奇是否有人确实知道,或者有获得这种功能的技巧。

标签: pythonpython-3.xmathfloating-pointoverriding

解决方案


最好不要弄乱内置类型。相反,我可以建议您阅读有关 Decimals 的内容,这将使您可以完全控制精度。

Python2 ( https://docs.python.org/2/library/decimal.html )
Python3.7 ( https://docs.python.org/3.7/library/decimal.html )

Decimal 是标准库,因此它始终为您服务!


推荐阅读