比较浮点数时是否有更好的方法来检查相反的符号?

Is there a better way to check for opposite signs when comparing floats?

所以我有这段代码可以检查两个浮点数的符号是​​否相反,例如一个是消极的,另一个是积极的,反之亦然。我觉得一定有比这更简单的方法。

// Checking if force applied is in opposite direction to movement of ball to apply greater force
    if (BallVelocityComponents.X > 0 && Value < 0)
    {
        FVector ForwardVector(Value * ForceApplied * 1500, 0.f, 0.f);
        StaticMesh->AddForce(ForwardVector);
    }
    else if (BallVelocityComponents.X < 0 && Value > 0)
    {
        FVector ForwardVector(Value * ForceApplied * 1500, 0.f, 0.f);
        StaticMesh->AddForce(ForwardVector);
    }
    else
    {
        FVector ForwardVector(Value * ForceApplied * 1000, 0.f, 0.f);
        StaticMesh->AddForce(ForwardVector);
    }

std::signbit,这就是你要找的。