Längen berechnung
-
Hallo,
mit dem folgendem code soll anhand ausgewählter werte in einer CheckListBox eine kleine berechnung durchgeführt werden.
for(int i=0; i<CheckListBox1->Count; ++i) //Auslesen der Checklistbox { if(CheckListBox1->Checked[i]) { strItems += CheckListBox1->Items->Strings[i] + " ; "; if((i % 2) == 0) { laenge += StrToFloat((Edit4->Text)/10); //Länge der Segmente berechnen } else { laenge += StrToFloat((Edit5->Text)/17); //Breite der Segmente berechnen } } }
in edit 4 steht als bsp 10 und edit 5 mal 17...
das ergebnis soll in der variable laenge zu finden sein.wenn ich nun die ersten 5 felder in der checklistBox anklicke müsste ich doch normalerweiße 5 erhalten oder?
ich bekomm also nur 3...
woran liegt das?danke mal für die hilfe...bei fragen einfach melden...
-
Meinst du nicht eher
StrToFloat(Edit4->Text)/10;
???
Ansonsten debuggen...
-
perfekt danke...
nur noch eine Frage:
wie kann ich meine Zahl die ich ausgebe auf 2 Kommazahlen begrenzen?
-
Schau mal in die Hilfe zu FloatToStrF
-
hallo..
ich habe es mal folgendermaßen versucht:int laenge2 = laenge * 100; float laengecm = laenge2/100.0; //Länge auf 2 Kommastellen kürzen String laengecm2 = FloatToStr(laengecm) + " cm";
jedoch bekomm ich imernoch die komplette zahl ausgegeben...also bsp 12345,67891011
und nicht wie gewünscht 12345,67wo liegt mein fehler in der berechnung?
danke schonmal
-
Ich sagte ja auch FloatToStrF und nicht FloatToStr. Die Funktion mit dem F erlaubt Formatierung.
z. Bsp.String str = FloatToStrF(12345,67891011, ffFixed, 10, 2);
Das gibt die Zahl mit 2 Stellen nach dem Komma aus.
-
okay danke...
hat funktioniert