我有一个复数的列表,作为1d离散傅立叶变换的输出而创建。我希望能够在一个整齐的列中显示它们,实部和虚部四舍五入到每个4位小数;类似的东西:
21.0000 + 0.0000j
-3.0000 + 5.1962j
-3.0000 + 1.7321j
-3.0000 + 0.0000j
-3.0000 - 1.7321j
-3.0000 - 5.1962j
当然很好地排列在小数点上。有没有一种简单的方法可以做到这一点 - 某种格式化复数的方法?
答案 0 :(得分:3)
使用新的format功能。
>>> a = -3 + 5.3j
>>> a
(-3+5.3j)
>>> "{num.real:+0.04f} {num.imag:+0.04f}j".format(num=a)
'-3.0000 +5.3000j'
答案 1 :(得分:0)
你可以这样做:
print '%0.4f + %0.4fi' % (a.real, a.imag)
答案 2 :(得分:0)
也许您正在寻找这样的东西:
>>> a = -3 - 5.3j
>>> "{num.real:+0.04f} {num.imag:=+8.04f}j".format(num=a)
'-3.0000 - 5.3000j'