使用复数时如何限制小数位数

How to limit decimal places when using complex numbers

sqrtnum_ = 0
sqrtnum_ = cmath.sqrt(snum_)

print "Using cmath.sqrt:"
print "    sqrt(", snum_, ") =      ", '%.12f' %sqrtnum_

如何限制小数位数。通常我会使用上面的但它不适用于复数

这看起来是 Formatting Complex Numbers

的副本

希望对您有所帮助!

(本应遵循重复的 marking/commenting/etc 协议,但缺少代表)

您可以使用复数的 imagreal 属性来获取它们各自的值。

>>> a = cmath.sqrt(-1000)
>>> "%.12f + %.12fj"%(a.real,a.imag)
'0.000000000000 + 31.622776601684j'

这也适用于完全实数

>>> a = cmath.sqrt(1000)
>>> "%.12f + %.12fj"%(a.real,a.imag)
'31.622776601684 + 0.000000000000j'