Of course you should parse properly and take care about proper string format, take care of the culture you use, all of that.
But I think the problem is deeper and simpler. How come you store a string in your database, where the semantic requires to have a numeric type? I don't know why, but it looks like one problem really haunts the beginners these days: trying to work with strings representing data, instead of data itself. If you wan to work with numbers use the types like numeric, real, smallint, smallmoney and the like.
Please see: http://msdn.microsoft.com/en-us/library/ms187594%28v=sql.90%29.aspx