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?