The thing in the brackets before the expression is a type cast. You can type cast any number with another number and interfaces or child/ancestor classes, you can think of it simply as converting from one type to another. It's actually quite simple how it works if you understand lower level OOP.
In your case its probably a double to a float.
If you don't want to use sin or cos, you can use a rotation matrix. However its hard to understand and easy to forget, but once you know it, it becomes much easier than trig, its also a lot faster (brain and cpu wise) if you don't need exact calculations, even better if you understand magic numbers like sqrt3/2 as its based on the unit circle.
As for the Vector2D i think you need to do a bit of research on trig. If the parameter requires radians then you will have to divide the rotation by 180 before you use it as an argument (unless the rotation is also in radians). Also as sin is the vertical component, of course the angle is going to be off if it the point is 5 times higher than it is to the left or right.
Its a very simple difference, but very useful to have it as a radian instead in most cases.
If by that you mean for rendering such as NotExistants Vector2D im not sure how that could possibly be. Both OpenGL and DX8 use floating-point degrees and 3 rotation matrices, i dunno about the other DX's as i haven't tried. If not then meh i dunno, its only been useful when there isn't a calculator involved, which is why i don't think its particularly suitable for programming.