Ver Mensaje Individual
  #2  
Antiguo 17-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 26
seoane Va por buen camino
Esto es lo único que se me ocurre hasta que venga roman y me deje en ridículo

Código Delphi [-]
uses FMTBcd;

function Modulo97(Numero: string): Integer;
var
  s,t: TBcd;
begin
  s:= StrToBCD(Numero);
  BcdDivide(s,97,t);
  t.Precision:= t.Precision - t.SignSpecialPlaces;
  t.SignSpecialPlaces:= 0;
  BcdMultiply(t,97,t);
  BcdSubtract(s,t,s);
  Result:= BcdToInteger(S,TRUE);
end;

// Por ejemplo
ShowMessage(IntToStr(Modulo97('123456789012345678901234567890')));

... aunque me queda la sensación de estar matando moscas a cañonazos
Responder Con Cita