Trying to obtain sine/cosine by angles giving me imprecise values

From the code:

double senoDoAngulo=Mathf.Asin((30 * Mathf.PI) / 180);
		print ("Angle Sin: "+senoDoAngulo);

I obtain as answer: Cos Do Angle Sin: 0.551069617271423, not 0.5 as should it be, someone knows why and how to fix it? Thanks.

Could be a problem due to float type precision. Try the .NET Math library: