sin error invee sin error

I have a angle : float 180. I’ve converted it to rad angle * Mathf.DegToRad;
Im trying to get the sin, cos and InvSin. cos is fine -1 but sin is wrong Im getting -8.742278E-08, and inverse is giving me an error. the code is as follows id appreciate any help as i am new to this. Thanks

 function MatrixOp (theta : float, axis : String){

	var op = mO();
	op.angleInRad = theta * Mathf.Deg2Rad;
	print("angleInRad " + op.angleInRad);
	op.cosQ = Mathf.Cos(op.angleInRad);
	print("cos " + op.cosQ);
//returns right answer
	op.sinQ = Mathf.Sin(op.angleInRad);
	print("sin " + op.sinQ);
//returns wrong answer	
	op.inverseSinAngle = Mathf.Asin(op.angleInRad);
	print("inversSin " + op.inverseSinAngle);

//returns error 

The Sine of 180 degrees is 0. What you are getting is ‘-.00000008742278’ which is really near zero and the kind of value you will get given the imprecision of floating point math. There are lots of posts on UA about the imprecision of floating point math.