2015-01-31 68 views
1
sqrtnum_ = 0 
sqrtnum_ = cmath.sqrt(snum_) 

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

如何限制小数位数。通常我会用上面的,但它不与复数如何在使用复数时限制小数位数

+1

你就不能这样做' “%.12f +%.12f J” %(sqrtnum_.real,sqrtnum_.imag)' – 2015-01-31 19:22:04

回答

1

可以使用复数的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' 
+0

灿你在小数中指定一个变量? '“%(变量)f +%.12fj”%(a.real,a.imag)' – 2015-02-02 03:38:19

+0

@MarioGalván是的,这是可能的。例如:你需要'x'小数点位置为真,'y'为另一个,那么你可以做'(“%%。%df + %%。%dfj”%(x,y))%(a .real,a.imag)' – 2015-02-02 08:30:09

+0

感谢您的回应,我也试过使用这个:'“%。* f +%.12fj”%(a.real,a.imag)',它也可以。 – 2015-02-02 15:05:37

相关问题