function filterNumerically string
  ----
  repeat
    put offset("%",string) into x
    if x is 0 then exit repeat
    if (char (x+1) of string is "3") and (char (x+2) of string is "D")
    then delete char 1 to (x+2) of string -- "="
    else delete char x to (x+2) of string -- "%xx"
  end repeat
  ----
  repeat with x = the number of chars of string down to 1
    if (char x of string is not a number) and (char x of string is not ".") then delete char x of string
  end repeat
  ----
  return string
  ----
end filterNumerically