简单的说 ;有没有更好的方法来获得非四舍五入的小数
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.11
而 round(5.11999,2)==5.12
.
还有一些关于舍入如何工作的其他技术细节 you can read about 如果您正在做的事情需要的话。
大家好。而不是每次都调用以下命令来获取(在这种情况下)浮点数的两位小数再现 - 有更好的(更 pythonic 的)方法吗?
def dec2( anum ) :
return( (math.trunc( anum*100))/ 100.0 )
谢谢,艾尔
我相信您正在寻找的是内置的 round()
功能。您可以指定小数位数。在你的例子中,你需要两位小数,所以你可以简单地调用 round(anum, 2)
。这与你正在做的事情略有不同,因为你正在截断。区别在于 math.trunc(5.11999*100))/100.0==5.11
而 round(5.11999,2)==5.12
.
还有一些关于舍入如何工作的其他技术细节 you can read about 如果您正在做的事情需要的话。