# Angle conversion problems

**URL:** <https://forum.kirupa.com/t/angle-conversion-problems/323255>\
**Category:** Uncategorized\
**Created:** [June 22, 2011, 4:57pm UTC](https://forum.kirupa.com/t/angle-conversion-problems/323255 "2011-06-22T16:57:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![drpelz](https://avatars.discourse-cdn.com/v4/letter/d/c68b51/32.png) [@drpelz](https://forum.kirupa.com/u/drpelz)\
**Post date:** [June 22, 2011, 4:57pm UTC](https://forum.kirupa.com/t/angle-conversion-problems/323255/1 "2011-06-22T16:57:48Z")

</div>

Hi folks,

when I’d like to know the angle between two vectors, sometimes I get negative values (radian or degree). How do you convert them so I always get positive values?

Flash seems to have a strange system for calculating angles. I used the following code for doing this, but sometimes I get negative values. Please - can someone help me with this problem?

```auto
public function rangedAngleBetween(otherVector:EuclideanVector):Number
{
    var firstAngle:Number;
    var secondAngle:Number;
 
    var angle:Number;
 
    firstAngle = Math.atan2(otherVector.position.y, otherVector.position.x);
    secondAngle = Math.atan2(position.y, position.x);
 
    angle = secondAngle - firstAngle;
 
    while (angle > Math.PI)
        angle -= Math.PI * 2;
    while (angle < -Math.PI)
        angle += Math.PI * 2;
 
    return angle;
}

```
