Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SDK Componente Verifactu para Delphi 7+ - Subforo Errores (https://www.clubdelphi.com/foros/forumdisplay.php?f=80)
-   -   Error negativos (https://www.clubdelphi.com/foros/showthread.php?t=97686)

elguille 16-09-2025 12:48:51

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.

seccion_31 17-09-2025 06:58:18

hombre, con negativos, no da error. Si no esto seria imposible.

Ahora bien, con ciertas configuraciones regionales no lo discuto.

gracias por el aporte, voy a reemplazar la funcion con tu codigo.


La franja horaria es GMT +2. Ahora son las 06:30:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi