Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Format Extended mit Nullen

  Alt 9. Aug 2023, 12:10
So, das wäre jetzt meine Lösung. Evtl. ginge das ja noch effizienter, aber erstmal tuts was es soll:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

  function FormatFloat2(const AValue: Extended; const ADigits, ADecimals: Byte;
    const AFormatSettings: TFormatSettings): string;
  var
    I, J: Byte;
    Fmt, Fmt2: string;
  begin
    Fmt := StringOfChar('0', ADigits);
    Fmt2 := '';
    J := 1;
    for I := Fmt.Length downto 1 do begin
      Fmt2 := Fmt[I] + Fmt2;
      if J = 3 then begin
        Fmt2 := ',' + Fmt2;
        J := 1;
        Continue;
      end;
      Inc(J);
    end;
    Fmt2 := Fmt2 + '.' + StringOfChar('0', ADecimals);
    Result := FormatFloat(Fmt2, AValue, AFormatSettings);
  end;

begin
  ShowMessage(FormatFloat2(12345.67, 7, 3, TFormatSettings.Create));
end;
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat