我对 python 十进制列表有疑问
假设我有一个如下列表:
>>> a=[2,3.45,7,8,8.75,9]
在这里,我得到几乎相同的东西
>>> b=[round(x,2) for x in a]
>>> b
[2.0, 3.45, 7.0, 8.0, 8.75, 9.0] # same result
当我尝试这样的事情时:
>>> import decimal
>>> b=[round(decimal.Decimal(x),50) for x in a]
>>> b
[2.0, 3.45, 7.0, 8.0, 8.75, 9.0] # same result
现在,当我尝试以十进制 0 四舍五入时,我得到了这个
>>> b=[round(x) for x in a]
>>> b
[2.0, 3.0, 7.0, 8.0, 9.0, 9.0] # here 8.75 has been rounded to 9.0 , that fine
我关心的是3.45
列表的第二个数字,如何使用 pythonround()
方法或任何其他方法将小数部分舍入到 50,如 3.50,或者换句话说,对于小数部分不同为 0 且小于 50 的每个数字将其舍入到 50。