How do I check when the rotation of an object is approaching a certain value and move towards it?

In my scene, there is a 2D gameobject that has some torque applied to its z-axis based on user-input. When it gets close to approaching zero(which I consider to be it’s upright position), I want something to happen. this is how my code generally looks right now:

using UnityEngine;
using System.Collections;

public class ForceRotation : MonoBehaviour
{
    public float torqueAmount;
    public Vector3 v3Current;
    
    void Start()
    {
    }

    void Update()
    {
        
    }
    void FixedUpdate()
    {
        transform.rigidbody2D.AddTorque(Input.GetAxisRaw("Horizontal") * -torqueAmount);
        
        v3Current = myTransform.eulerAngles;
        if (v3Current.z > 350f || v3Current.z < 4f)
        {
            //Do Something
        }
    }
}

even though this works to my knowledge, I feel that the way I’m performing this check is incorrect. I’m not to sure why the value goes from 0 to 360 and I feel that the way I’m performing this check will lead to problems later on. So this brings me to my question, How do I check when the rotation of an object is approaching a certain value(which in my case is when z = 0).

Use Vector Dot product on your 2D Vectors.

http://docs.unity3d.com/ScriptReference/Vector2.Dot.html

Your vectors are, your reference vector (pointing toward 0 degrees in your case) and the vector of the thing you are measuring.

When the vectors are aligned the output will be 1.