[C#] Profil Creater Problem

02/11/2011 20:18 Sinobis9000#1
Huhu,
Ich bin gerade dabei in C# meinen eigenen kleinen Bot zu programmieren. Naja so weit so gut . Mein Problem ist , dass ich bei meinem Profil Creater nicht weiter komme. Dieser soll sich nciht nach Zeit die Waypoints merken sondern nach distanz.

Mein Code sieht momentan so aus undgefähr so aus da ich grad noch am rumbasteln bin..

Code:
        
             int Save = 0;
             int Save2 = 1;
             int Save3 = 2;
             listBox1.Items.Add(X);
             listBox1.Items.Add(Y);
             listBox1.Items.Add(Z);

             float distanz = Math.Sqrt(((X - listBox1.Items[Save]())) * (X - Convert.ToString(listBox1.Items[Save].ToString()))) + ((Y - Convert.ToString(listBox1.Items[Save2].ToString())) * (Y - Convert.ToString(listBox1.Items[Save2].ToString()))) + ((Z - Convert.ToString(listBox1.Items[Save3].ToString())) * (Z - Convert.ToString(listBox1.Items[Save3].ToString()))));
Das Problem ist das er mir dann die fehlermeldung ausgibt das der Operator "-" nicht auf einen Operanden vom Typ String oder Float angewendet werden kann. Aber die Koordinaten müssen ja in einem Float angegeben sein. Ich hoffe ihr könnt mir helfen den Creater zum laufen zu bekommen.

Danke im vorraus mfg Sinobis

Edit: Hoppla move in die Coding Section bitte
02/11/2011 20:21 epiTR#2
Zu deiner Fehlermeldung:
Wandel mal deinen String in einen Integer oder Float um und versuchs dann nochmal.
02/11/2011 20:31 Sinobis9000#3
Quote:
Originally Posted by dasr2142 View Post
Zu deiner Fehlermeldung:
Wandel mal deinen String in einen Integer oder Float um und versuchs dann nochmal.
Ok nun siehts folgendermaßen aus
Code:
float distanz = Math.Sqrt(((X - Convert.ToInt32(listBox1.Items[Save]))) * (X - Convert.ToInt32(listBox1.Items[Save])) + ((Y - Convert.ToInt32(listBox1.Items[Save2])) * (Y - Convert.ToInt32(listBox1.Items[Save2]))) + ((Z -  Convert.ToInt32(listBox1.Items[Save3]))) * ((Z -  Convert.ToInt32(listBox1.Items[Save3]))));
Nun kommt aber der Fehler,dass der Typ double nicht implinziert in float konvertiert werden kann. Es ist bereits eine explitzite Konvertierung vorhanden.
02/12/2011 11:48 botuser1234#4
Kommt wohl davon, weil double eine grössere Zahl als Float ist und deshalb nicht ohne Verlust konvertiert werden kann.

Float
größte Zahl betragsmäßig: ca 3.4 * 1038
kleinste Zahl betragsmäßig: 1.4 * 10-45

Double
größte Zahl betragsmäßig: ca 1.8 * 10308
kleinste Zahl betragsmäßig: 4.9 * 10-324
Stellengenauigkeit: ca 15