You can use the T-SQL functions TRY_CAST() or TRY_CONVERT() if you’re running SQL Server 2012 as Bacon Bits mentions in the comments:
SELECT CASE WHEN TRY_CAST('foo' AS INT) IS NULL THEN 0 ELSE 1 END
SELECT CASE WHEN TRY_CAST(1 AS INT) IS NULL THEN 0 ELSE 1 END
If you’re using SQL 2008 R2 or older, you’ll have to use a .NET CLR function, and wrap System.Decimal.TryParse().