Ver Mensaje Individual
  #1  
Antiguo 16-09-2025
elguille elguille is offline
Miembro
 
Registrado: ene 2005
Posts: 130
Reputación: 22
elguille Va por buen camino
Error negativos

He tenido que cambiar la funcion que esta en uverifactuFuncs
Código Delphi [-]
function value(n:string):currency;
begin
      // para compatibilidad con los strings values que llegan de verifactu y usan el "." en lugar de la "," decimal
      n:=StringReplace( n,'.',',',[rfReplaceAll, rfIgnoreCase]);

      if n=''  then result:=0
      else
      result:=strtofloat( n );
end;
por esta (cortesia IA)
Código Delphi [-]
function value(n: string): currency;
var
  fSettings: TFormatSettings;
  tempFloat: Double;
begin
  fSettings := FormatSettings;
  fSettings.DecimalSeparator := ',';
  fSettings.ThousandSeparator := '.';

  n := Trim(n);
  if n = '' then
    Result := 0
  else
  begin
    n := StringReplace(n, '.', ',', [rfReplaceAll, rfIgnoreCase]);
    if TryStrToFloat(n, tempFloat, fSettings) then
      Result := tempFloat
    else
      Result := 0;
  end;
end;
porque daba errores con numeros negativos y ciertas configuraciones regionales.
Responder Con Cita