简单的说 ;有没有更好的方法来获得非四舍五入的小数

Simply put ; is there a better way to obtain a non-rounded decimal

大家好。而不是每次都调用以下命令来获取(在这种情况下)浮点数的两位小数再现 - 有更好的(更 pythonic 的)方法吗?

def dec2( anum ) :
    return( (math.trunc( anum*100))/ 100.0 )

谢谢,艾尔

我相信您正在寻找的是内置的 round() 功能。您可以指定小数位数。在你的例子中,你需要两位小数,所以你可以简单地调用 round(anum, 2)。这与你正在做的事情略有不同,因为你正在截断。区别在于 math.trunc(5.11999*100))/100.0==5.11round(5.11999,2)==5.12.

还有一些关于舍入如何工作的其他技术细节 you can read about 如果您正在做的事情需要的话。