AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

string to Float, für lesen aus einer Datei

Ein Thema von bernhard_LA · begonnen am 17. Mär 2018 · letzter Beitrag vom 18. Mär 2018
 
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: string to Float, für lesen aus einer Datei

  Alt 17. Mär 2018, 14:27
Rein von der Lösungsmöglichkeit her würde ich es auch so machen. Statt StringReplace würde ich allerdings direkt FloatStr[DelimPos] := '.' setzen, also den Parameter als var übergeben. So sparst du dir das Rumkopieren im Speicher. Mehrere Vorkommen des Dezimalseparators innerhalb eines einzelnen Wertes sind ja eh nicht zulässig, weshalb StringReplace mit rfReplaceAll auch Overkill sein sollte.

Delphi-Quellcode:
function ChangeLocalFloatStr(var FloatStr: String): String;
var
  I: Integer;
begin
  I := Pos(',', FloatStr);
  if (I > 0) then
  begin
    FloatStr[I] := TFormatSettings.Invariant.DecimalSeparator;
  end;
end;
Die ganzen zusätzlichen Variablen würde ich mir auch sparen. Achso, dann musst du den StrToFloat Aufruf natürlich abändern in StrToFloat(FloatStr, TFormatSettings.Invariant) .

Alternativ alles ganz kompakt (dann sparst du dir beim Aufrufen die zusätzliche Variable):
Delphi-Quellcode:
function LocalStrToFloat(FloatStr: String): Double;
var
  I: Integer;
begin
  I := Pos(',', FloatStr);
  if (I > 0) then
  begin
    FloatStr[I] := TFormatSettings.Invariant.DecimalSeparator;
  end;
  Result := StrToFloat(FloatStr, TFormatSettings.Invariant);
end;
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)

Geändert von Zacherl (17. Mär 2018 um 14:40 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz