Quindi, mi dici che se tu ricevi la stringa

ABCDEF01020304050607

ti interessano solamente i valori

ABCDEF01

Se e' cosi', allora la for andra' ad esaminare il resto della stringa ed avrai un errore (overflow).

Se sei sicuro che dovrai ottenere un long (al massimo) ti conviene eliminare la for ed effettuare una conversione diretta. Se e' cosi', e ti interessa, ti potrei scrivere un esempio ...

P.S. la variabile decimale non serve ... non la utilizzi ...