Lo siento, pero ni '12345678' es un número, ni el resultado es 8, mas bien es '8'.
A mi nunca me ha gustado eso de convertir de números a caracteres para una operación que puede hacerse solo con números, por ejemplo:
Código Delphi
[-]
function UltimoDigito(Numero: Int64): Byte;
begin
result := Numero mod 10;
end;
var
numero, resultado: Integer;
begin
Numero = 12345678;
Resultado := UltimoDigito(Numero); end;
Por eso decía que ya debieras tener suficientes ideas con lo dicho antes...
Hasta luego.