Komischer Fehler???
-
Hi,
Hier erstmal den Code.
//Anfang des Codes
double ar[]={1,2,3,4,5,6,7,8,9,10};
double y = Edit1->Text.ToDouble();int wert = (y*10) /2 ;
Edit2->Text = ar[wert-1];
//Ende
Erklärung: Also wenn man eine Zahl zwischen 0,2 und 2 in denn Editfeld einfügt sollte folgendes herauskommen:
0,2 = 1
0,4 = 2
0,6 = 3
usw.
also die anzahl von schritten mit 0,2 aus einem Array ausgelesen.aber bei 0,6 kommt 2 heraus und ich kann einfach nicht verstehen warum ;((
ich hoffe jemand kann mir helfenPSC
-
das müsste klappen
int ar[]={1,2,3,4,5,6,7,8,9,10}; float y = StrToFloat(Edit1->Text); int wert = (y*10) /2 ; Edit2->Text = ar[wert-1];
-
Mach den:
int wert = int((y*10) / 2 + 0.5) ;
Du rundest nicht by Type- Cast!!!
Computer rechnen komisch! :p
0,6 * 10 / 2 != 3 !!! (Ist bei Computern halt so)