eq = (((1 - (2 * normal_rpm - s8) ** s1) * s2 * math.sin(normal_rpm ** s3 / s4) * (1 - math.sin((normal_rpm + s5) ** (2) + 5) + s6) / (s7))) + 0.67
是我对这个变量的计算公式,其中S变量是浮动的。这有时会返回这样的结果
(0.6806708980989302+0.008606807113252896j)
我不能在进一步的数学中使用这个结果,我需要一个浮点数,即使我必须将答案四舍五入一点。
这不是一个四舍五入的问题,而是你把一个负数提高到一个小数指数(比如你要取-5的平方根)。
例如,你要把负数升为小数指数(例如,你要取-5的平方根)。
In [2]: (-5)**0.5
Out[2]: (1.3691967456605067e-16+2.23606797749979j)
如果你不能接受复杂的数字作为结果 那么唯一的出路就是当这种情况发生时发出一个错误(没有一个实数可以乘以自己,或者接近-5)。
如果这不是你所期望的,你应该仔细检查公式或前面的公式,因为可能有一个错别字,或者可能有一些先决条件,你需要在应用这个公式之前检查。