Edit:
sehe erst jetzt, dass von einem Edit und einer Eingabe die Rede ist und nicht um das generelle Umformatieren von Zahlen.
---
Ich benutze immer und überall dieses hier. Es werden Systemeinstellungen respektiert.
Delphi-Quellcode:
function formatNumber(iNumber: Int64): string;
var
sTmp: string;
begin
try
sTmp := FloatToStrF(iNumber, ffNumber, 8, 0);
except
sTmp := SysUtils.IntToStr(iNumber);
end;
if Copy(sTmp, Length(sTmp) - 2, 3) = ',00' then // <= das hier kann eigentlich weg. Ist obsolet, da die Nachkommastellen 0 sind.
sTmp := Copy(sTmp, 1, Length(sTmp) - 3);
Result := sTmp;
end;
// 1000 => 1.000
// 10000 => 10.000
// 100000 => 100.000
// usw.
Die Nachkommastellen habe ich auf 0 gestellt, da die sonst gerne auf US und UK Systemen angezeigt werden. Statt 1,000,000 steht dann dort 1,000,000.00