我目前有一个numpy数组的float64s:
[ -2.75090260e-08 3.11586226e-08 1.86128266e-08 -1.01560789e-07 ]
我想打印excel电子表格导入:
[ -.0000000275090260 .0000000311586226 .0000000186128266 -.000000101560789 ]
我尝试过使用精确设置,但每个数字都有自己的尾数和指数。
请注意,这些输出数字可以被视为一个字符串,如果这使得过程更容易,因为它们将进入excel的文本文件。
答案 0 :(得分:3)
您想以十进制格式打印16位精度的数字吗?怎么样?
a = [-2.75090260e-08, 3.11586226e-08, 1.86128266e-08, -1.01560789e-07]
print map(lambda x: "{0:.16f}".format(x), a)
打印
['-0.0000000275090260', '0.0000000311586226', '0.0000000186128266', '-0.0000001015607890']
<强>更新强>
你甚至不需要lambda。使用
map("{0:.16f}".format, a)
同样适用。感谢@JaminSore指出这一点。
答案 1 :(得分:0)
请注意,您还可以选择: numpy.round(_array, _decimalPrecision)