![](/img/trans.png)
[英]How to convert dataframe to list without adding more decimal places in python
[英]python: convert a list into list with 5 decimal places
如何将列表转换为5位小数的列表?
list1 = [0.23400000000, 0.3456222222, 0.1278234, 0.78433333]
期望:
list1 = [0.23400, 0.34562, 0.12782, 0.78433]
我不希望0.34562是0.34561,我需要保留原样的值,但要保留5个小数点。
我不相信您可以获得0.23400
浮动。 我可以提供的最接近的解决方案是:
list1 = [0.23400000000,0.3456222222,0.1278234,0.78433333]
list1 = [round(i,5) for i in list1]
>>> print(list1)
[0.234, 0.34562, 0.12782, 0.78433]
我不知道为什么您需要0.23400
的浮点数,因为它没有提供0.234
任何其他数学意义。 除非您真正要查找的是字符串。
您可以使用decimal
模块:
import decimal
decimal.getcontext.prec() = 5 # Use 5 decimal places
list1 = [0.23400000000,0.3456222222,0.1278234,0.78433333]
list2 = [decimal.Decimal(x) + decimal.Decimal(0) for x in list1] # addition is necessary to trigger rounding
print(list2) # [Decimal('0.23400'), Decimal('0.34562'), Decimal('0.12782'), Decimal('0.78433')]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.