使用复数时如何限制小数位[重复]
Posted
技术标签:
【中文标题】使用复数时如何限制小数位[重复]【英文标题】:How to limit decimal places when using complex numbers [duplicate] 【发布时间】:2015-01-31 19:11:29 【问题描述】:sqrtnum_ = 0
sqrtnum_ = cmath.sqrt(snum_)
print "Using cmath.sqrt:"
print " sqrt(", snum_, ") = ", '%.12f' %sqrtnum_
如何限制小数位数。通常我会使用上述方法,但它不适用于复数
【问题讨论】:
你不能只做"%.12f + %.12f j "%(sqrtnum_.real,sqrtnum_.imag)
【参考方案1】:
您可以使用复数的imag
和real
属性来获取它们各自的值。
>>> 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'
【讨论】:
你能指定一个小数的变量吗?"%(variable)f + %.12fj"%(a.real,a.imag)
@MarioGalván 是的,这是可能的。例如:您需要x
实数和y
其他小数位,然后您可以使用("%%.%df + %%.%dfj"%(x,y))%(a.real,a.imag)
感谢您的回复,我也尝试过使用这个:"%.*f + %.12fj"%(a.real,a.imag)
,它也可以。
@MarioGalván 不客气,肯定有很多方法可以做到这一点。【参考方案2】:
这看起来是 Formatting Complex Numbers 的副本
希望对您有所帮助!
(将遵循重复的标记/评论/等协议,但缺少代表)
【讨论】:
以上是关于使用复数时如何限制小数位[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Javascript 文件大小验证限制为 2 个小数位 [重复]