Python 使用复数时如何限制小数位数
如何限制小数位数。通常我会使用上面的方法,但它不适用于复数 希望这有帮助Python 使用复数时如何限制小数位数,python,formatting,complex-numbers,Python,Formatting,Complex Numbers,如何限制小数位数。通常我会使用上面的方法,但它不适用于复数 希望这有帮助 (本应遵循重复的标记/注释/etc协议,但缺少该协议的代表)您可以使用复数的imag和real属性来获取各自的值 sqrtnum_ = 0 sqrtnum_ = cmath.sqrt(snum_) print "Using cmath.sqrt:" print " sqrt(", snum_, ") = ", '%.12f' %sqrtnum_ 这也适用于完全实数 >>> a = cm
(本应遵循重复的标记/注释/etc协议,但缺少该协议的代表)您可以使用复数的
imag
和real
属性来获取各自的值
sqrtnum_ = 0
sqrtnum_ = cmath.sqrt(snum_)
print "Using cmath.sqrt:"
print " sqrt(", snum_, ") = ", '%.12f' %sqrtnum_
这也适用于完全实数
>>> a = cmath.sqrt(-1000)
>>> "%.12f + %.12fj"%(a.real,a.imag)
'0.000000000000 + 31.622776601684j'
你能不能只做
“%.12f+%.12f j”%(sqrtnum_uu.real,sqrtnum_uuu.imag)
你能指定一个小数的变量吗<代码>“%(变量)f+%.12fj”%(a.real,a.imag)@MarioGalván Yep,这是可能的。例如:你需要它x
小数位表示实数,而y
表示另一个,那么你可以(“%%.%df+%%.%dfj”%(x,y))%(a.real,a.imag)
谢谢你的回答,我也尝试过使用它:“%.*f+%.12fj%”(a.real,a.imag)
,它也很有效。@MarioGalvá,当然有很多方法可以做到这一点。
>>> a = cmath.sqrt(1000)
>>> "%.12f + %.12fj"%(a.real,a.imag)
'31.622776601684 + 0.000000000000j'