Einzelnen Beitrag anzeigen

WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#1

Fehler in Zint QR-EPC-Code

  Alt 10. Mai 2021, 22:54
Die Formatierung des Amount Strings in der Zint OREPC-Lib ist bei mir bei Beträgen über 1000€ falsch.

Es ist möglich das ich etwas (noch) nicht gefunden habe um das Problem anders zu beheben.
Folgender Code löst das Problem zumindest auf meinem Rechner:
(Die Ausgeremten Zeilen sind der Original-Code)
Delphi-Quellcode:
function TZintEPCQR.GetAmountAsString: String;
var s : string;
    l : Integer;
begin
// Result := Format('%n',[FAmount]);
// Result := 'EUR'+ReplaceText(Result,',','.');
    s:= Format('%n',[FAmount]);
    s := s.Replace(',','');
    s := s.Replace('.','');
    l := s.Length;
    s := 'EUR' + s.Substring(0,l-2) + '.' + s.Substring(l-2,2);
    Result := s;
end;
Der so erzeugte QR-Code wird von der Banking-App als richtig und ausführbar erkannt.

Geht das eleganter oder auch ganz anders?
  Mit Zitat antworten Zitat