Autor Beitrag
surroundedx
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mi 13.09.06 23:48 
hi ich nochmal

ich hab ein kleines konvertierungsproblem:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
   for m:=1 to sg.RowCount-2 do
    begin
 112:     cl:=sg.cells[1,m];
 113:     add:=add+floattostr(cl);
    end;


[Fehler] temp.pas(113): Es gibt keine überladene Version von 'FloatToStr', die man mit diesen Argumenten aufrufen kann

warum ist das falsch, die zahlen in der spalte sind alle im "xx.xx" format! für schnelle hilfe bin ich sehr dankbar!

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 13.09.06 23:59 
Ähm könntest du bitte Delphitags benutzen? dann sieht das ganze so aus:

user profile iconsurroundedx hat folgendes geschrieben:

ausblenden Delphi-Quelltext
 
110:
111:
112:
113:
114:
{ ... }
for m:=1 to sg.RowCount-2 do
begin
   cl:=sg.cells[1,m];
   add:=add+floattostr(cl);
end;



Ausserdem wär etwas mehr code bzw. informationen hilfreich: was sind cl, sg, add für Variablen/Komponenten?
Meine Kristallkugel verrät, dass add ein Float und cl ein String ist, während sg ein StringGrid ist. In diesem Fall hast du wohl einfach FloatToStr mit StrToFloat verwechselt.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
surroundedx Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Do 14.09.06 00:05 
entschuldige! ich hab das verwechselt richtig .. verdammt

ok, aber er meldet dann anhand eines MsgBox fehlers, das die zahl '12.3' kein gültiger Floatkommazahl ist.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.BitBtn2Click(Sender: TObject);
var mit, add: real;
var m: integer;
var cl: string;
begin
   for m:=1 to sg.RowCount-2 do
    begin
     cl:=sg.cells[1,m];
      add:=add+StrToFloat(cl);
    end;
end;


richtig, sg=stringgrid, die spalte 1, enthälte zahlen wie "9.7" "17.6" etc, diese will ich bloß addieren.. aber wieso fungiert das nicht korrekt, für mich ist das eine gültige fließkommazahl.


Zuletzt bearbeitet von surroundedx am Do 14.09.06 00:16, insgesamt 2-mal bearbeitet
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Do 14.09.06 00:11 
user profile iconJayEff hat folgendes geschrieben:
Ähm könntest du bitte Delphitags benutzen?

Nochmal mach ich das nich für dich! benutz den user defined image-Knopf, bitte.
Delphitags: <span class="inlineSyntax"><span class="codecomment">{PROTECTTAGa45a853cf0db59575224eb1647f3e953}</span></span> So musst du das machen.
Zum Problem: Hast du mal versucht, den Punkt . mit einem Komma , zu ersetzen? In Delphi musst du den englischen Dezimalseperator benutzen ( . ) während es in deinem fertigen Programm IIRC Systemabhängig ist. Überprüf also, ob sich die Umwandlung durchführen lässt, und wenn nicht, ersetze den Punkt mit einem Komma bzw umgekehrt.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
zuma
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 660
Erhaltene Danke: 21

Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
BeitragVerfasst: Do 14.09.06 07:59 
user profile iconsurroundedx hat folgendes geschrieben:
entschuldige! ich hab das verwechselt richtig .. verdammt

ok, aber er meldet dann anhand eines MsgBox fehlers, das die zahl '12.3' kein gültiger Floatkommazahl ist.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.BitBtn2Click(Sender: TObject);
var mit, add: real;
var m: integer;
var cl: string;
begin
   for m:=1 to sg.RowCount-2 do
    begin
     cl:=sg.cells[1,m];
      add:=add+StrToFloat(cl);
    end;
end;


richtig, sg=stringgrid, die spalte 1, enthälte zahlen wie "9.7" "17.6" etc, diese will ich bloß addieren.. aber wieso fungiert das nicht korrekt, für mich ist das eine gültige fließkommazahl.


benutze einfach
ausblenden Delphi-Quelltext
1:
add := add + StrToFloat(StringReplace(c1,',','.',[]));					

_________________
Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Do 14.09.06 17:14 
user profile iconzuma hat folgendes geschrieben:
benutze einfach
ausblenden Delphi-Quelltext
1:
add := add + StrToFloat(StringReplace(c1,',','.',[]));					

Also genau das, was ich geschrieben hab, nur in Code gefasst ;) (Wir machen normalerweise nicht anderer Leute Hausaufgaben ;) sondern geben Tipps und Informationen.)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.