25. december 2003 - 16:26
Der er
13 kommentarer og 1 løsning
Division af to tal
Hej Jeg har to tal, det ene i CSpinEdit1 og det andet i CSpinEdit2. Hvordan dividere jeg de to tal med hinanden? -TuDack
Annonceindlæg fra Conscia
25. december 2003 - 17:19
#1
Jeg går ud fra CSpinEdit1 og CSpinEdit2 er EditBokse... Resultat = CSpinEdit1->Text.ToInt() / CSpinEdit2->Text.ToInt()... Evt skal du teste på CSpinEdit1.Text > 0... Altså så: if (CSpinEdit1.Text > 0) Resultat = CSpinEdit1->Text.ToInt() / CSpinEdit2->Text.ToInt(); else Resultat = "Et eller andet som ikke gik godt";
25. december 2003 - 17:42
#2
Og hvis jeg gerne vil have resultatet i float i stedet for Int? Sorry, jeg er lige begyndt på C++, så er ikke lige så hardcore... -TuDack
25. december 2003 - 18:02
#3
Hvis de to edit boxe indeholder ints: Resultat = 1.0*CSpinEdit1->Text.ToInt() / CSpinEdit2->Text.ToInt(); Du kan bruge strtod() hvis de to edit boxe indeholder floats/doubles. (Jeg kan ikke finde nogen ToInt() i MSDN).
25. december 2003 - 18:37
#4
bertelbrander> Jeg kan ikke få strtod() til at virke.... ToInt() virker fint hvis resultatet kun skal være i hele tal, det skal det bare ikke....
25. december 2003 - 20:06
#5
Vi er over i Borland C++ Builder ikke MS VC++ ! Prøv og erstat ToInt med ToDouble ! (den skulle returnere en double)
25. december 2003 - 20:26
#6
Resultat = strtod(CSpinEdit1->Text.c_str(), 0) /strtod(CSpinEdit2->Text.c_str(), 0); Borland plejer at være TSpin1, CSpin1 ligner mere MSVC++.
25. december 2003 - 20:28
#7
Super arne_v, nu virker det bare, nu får jeg et mega langt komma tal, hvordan gør jeg sådan at jeg kun får et vis antal decimaler?
25. december 2003 - 20:34
#8
Normalt vil du styre det ved at formatere når du skal have tallet vist. Måske noget a la: char buf[18]; sprintf(buf,"%10.2f",x); og så putte buf over i hvor det nu skal vises. 10.2 = 7 tal + 1 punktum + 2 decimaler
26. december 2003 - 20:25
#9
OK ?
27. december 2003 - 16:50
#10
Ved ikke helt hvad jeg skal gøre af "sprintf(buf,"%10.2f",x);" -TuDack
27. december 2003 - 16:52
#11
buf er en streng som tallet skal ned i - x er tallet
27. december 2003 - 17:23
#12
Mit C++ Builder genkeder ikke sprintf....
27. december 2003 - 18:10
#13
Hvis du inkluderer stdio.h så gøre den !
27. december 2003 - 19:12
#14
Super nu virker det bare.... takker
Kurser inden for grundlæggende programmering