Thema: Delphi String nach Double?

Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#9

AW: String nach Double?

  Alt 29. Mär 2017, 13:42
Hmm..

da es dei TFormatSettings in Delphi 7 noch nicht gibt (soweit ich weis), kannst Du eventuell mit der Funktion was Anfangen:
(Diese verwende ich bei Delphi 6)

Delphi-Quellcode:
function StrToFloatD(AStr : string; ADef : double = 0):double;
begin
  AStr := StringReplace(AStr,',',DecimalSeparator,[]);
  AStr := StringReplace(AStr,'.',DecimalSeparator,[]);
  result := StrToFloatDef(AStr,ADef);
end;
Damit ist eigendlich sicher gestellt, das der DecimalSeparator im String steht (ausgenommen, wenn der String tausendertrennzeichen enthält ) und somit das normale StrToFloatDef einen brauchbaren Sting bekommt.

Dieses verwendet nämlich immer den DecimalSeparator.

Alternativ kann man auch vor StrToFloat den DecimalSeparator auf '.' setzen und nachher wieder zurück. Bedenke jedoch, dass es dann an anderer Stelle in deinem Programm Probleme geben kann, da DecimalSeparator eine globale Var ist...
  Mit Zitat antworten Zitat