如何将列表转换为5位小数的列表?
list1 = [0.23400000000, 0.3456222222, 0.1278234, 0.78433333]期望:
list1 = [0.23400, 0.34562, 0.12782, 0.78433]我不期望0.34562是0.34561,我需要保留它的值,但有5个小数点。
发布于 2015-09-13 13:21:01
我不相信你能得到一个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提供任何额外的数学意义。除非你真正想要的是一个字符串。
发布于 2015-09-13 13:44:15
您可以使用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')]https://stackoverflow.com/questions/32546558
复制相似问题