Esse post é antigo, tava aqui fazia tempo, mas não sei porque não publiquei.

Enfim, a solução é saber se a variável que recebemos é ou não um número, evitando assim um cast que geraria um erro.

1
2
3
4
5
6
7
8
9
10
11
12
static boolean IsNumeric(str _text)
{
    boolean     ret;
    System.Text.RegularExpressions.Regex regEx;
    System.Text.RegularExpressions.Match regMatch;
    ;
 
    regEx = new System.Text.RegularExpressions.Regex(@"[^0-9.]");
    regMatch = regEx.Match(_Text);
    ret = !regMatch.get_Success();
    return ret;
}

[]s
Pichler