И еще, когда я делал свою фунцию, то столкнулся с проблемой: если передать в функцию целое число, то все вычисления будут неверными... надо бы в твоей такую проверку сделать... и еще надо сделать проверку на отрицательные числа... т.к. паскаль в функции StringToInteger(GetChar(sval,p-i-1))*ind при первом минусе вернет 0...
вот пока такие рассуждения