First rule when asking questions about howto, is to mention which dbms you're using, as each one may have subtle differences, and if you get an answer that works for someone else with a different dbms, that may not be a lot of help... :)
For postgresql, the dbms I use the most, you cast like so:
select int4(fieldname), field2 from table; to cast a field. You can use it in orderbys like so:
BUT, postgresql, like most dbms systems, will not convert text with commas or dollar signs in it automagically with a cast. You should really store it as int and convert to a pretty format to keep your data coherent. Allowing users to add commas or dollar signs will let them probably add other things you don't want, like pound symbols, or & symbols and other strange things.
Money should always be stored in an int or a fixed point field, never text or float.