Einzelnen Beitrag anzeigen

Raffigator

Registriert seit: 5. Mär 2007
Ort: Wedel
46 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Fließkommazahlen Delphi vs. Oracle

  Alt 4. Jun 2007, 11:48
Zitat von Der_Unwissende:
Ok, Du verwendest die fConvertStrToDouble-Methode. Da ich gerade nichts zu der finde mal die Frage, wo kommt die denn her? Was macht die denn? Und falls die nur in meiner Hilfe fehlt, gibt es die überladen, so dass man hier wieder einen Dezimalseperator angeben könnte?
Nein, die gibt es nicht überladen, da ich mir die Methode selber geschrieben habe. Ich paste sie mal hier rein

Delphi-Quellcode:
{_______________________________________________________________________________
Wandelt einen String in eine Floatzahl um

  @param Fstring (in)    : String, der umgewandelt werden soll
  @param decimals (in)  : Anzahl der Nachkommastellen

  @return (out)          : 0    --> Zahl konnte nicht umgewandelt werden
                            sonst --> umgewandelte Float-Zahl
_______________________________________________________________________________}

function fConvertStrToDouble(Fstring : string ; decimals : integer):double;
var
  i : byte;
  temp : double;
  settings : TFormatSettings;
begin
  Result := 0;
  kommaCount := 0;
  
 //englischen Zahlen-Standard laden (Decimalseperator = '.')
  GetLocaleFormatSettings(1033, settings);
  for i := 1 to Length(Fstring) do
    if Fstring[i] = ',then begin
       fString[i] := '.';
    end;

 
  //String umwandeln
  if TryStrToFloat(Fstring,temp,settings) then
    Result := temp;
end;
Beschreibe nochmal kurz, was ich überhaupt machen will. Also ich lese eine Txt-Datei ein, in der Datensätze gespeichert sind. Es geht halt darum diese Datensätze nun in der Datenbank zu speichern. In der Txt-Datei sind die Fließkommazahlen mit einem ',' gespeichert.
Ich lese also die Zahl mit dem Komma als String ein und will es dann in der fConvertStrToDouble umwandeln. Wie du siehst habe ich da auch schonmal mit den TFormatSettings gearbeitet. (Ist das überhaupt .Net-Kompatibel?)
Wie gesagt, bisher sind bei mir alle Versuche mit dem Komma als Separator zu arbeiten, fehlgeschlagen.
Raphael
MfG
Raphael
  Mit Zitat antworten Zitat