first impression: you are going to have a serious problem converting a 4 gigabyte text value to a single decimal number
second impression: if the CAST is successful, you should not be comparing a decimal number to strings
okay, now to business...
when you CAST AS DECIMAL without giving scale and precision, the default is DECIMAL(10,0)
in other words, no decimal places
does this answer your question?