Sis,
Provided you don't have '.' anywhere except as a decimal separator:
alter FUNCTION dbo.fnExtractDigits (@inString VARCHAR(8000))
RETURNS VARCHAR(8000) AS
BEGIN
DECLARE @X VARCHAR(100)
Select @X=@inString
Select @X= SubString(@X,PATINDEX('%[0-9]%',@X),Len(@X))
Select @X= SubString(@X,0,PATINDEX('%[^.0-9]%',@X))
RETURN @X
END