使用','。join(map(str,myList))后数字被舍入

时间:2018-03-14 14:11:57

标签: python

关于myList = ','.join(map(str, myList))

的问题

myList包含例如:0.23905884 0.15364707等...

但在使用','.join(map(str, myList))

之后

myList包含:0.239059,0.153647等...

所以你看到数字是四舍五入的。我喜欢用逗号分隔后:0.23905884,0.15364707等...

有人知道答案吗?

1 个答案:

答案 0 :(得分:0)

问题与python舍入字符串表示的浮点数有关。以下是一些显示问题的示例代码:

>>> b = 5.78888888888888888888888888888
>>> print("{0:.3f}".format(b))
5.789
>>> print(b)
5.78888888889
>>> print("{0:.18f}".format(b))
5.788888888888888751
>>> print("{0:.24f}".format(b))
5.788888888888888750727801

后面的准确性问题与二进制浮点的准确性有关,但您至少可以看到如何更改显示的长度。对于您的特定问题,您可以尝试以下几点:

myList = ','.join(map(lambda x: "{0:.8f}".format(x), myList))