04. maj 2004 - 20:02Der er
7 kommentarer og 2 løsninger
Matematik - Rentes regning
Hejsa Eksperter :)
Jeg er ved at lave et udregnings program. Det skal kunne udregne hvad man skal betale/ hvad man har på sin konto efter man har fået renter... Jeg kender denne formel: K(1+R)^År/Mnd K = Kapital R = Rente (i Decimal) År/Mnd = Antal år / måneder der går indtil man betaler tilbage/hæver sine penge...
Je har prøvet at bruge den formel, men den siger 'Expected Array'.. Min kode er:
Private sub cmd1_click()
Dim K as integer Dim R as integer Dim Aar as integer K = txtKapital.text R = 100 / txtRente.text Aar = txtAar
txtResultat = K ( 1 + R ) ^Aar
End sub
... Men koden virker ikke :(
Ville bare høre om jeg kan gøre det sådan, eller om jeg skal bruge en anden måde??
Tænk på, at en textbox indeholder TEKST, og skriver du fx. "2", bliver det ikke opfattet som tallet værdien af tallet 2, men som en tekststring hvor der står bogstavet 2.
Du er altså nødt til at konvertere til taltyper, før du kan regne. Det kan du gøre med Val, med CInt osv. Nu ved jeg ikke om du arbejder med decimaltal eller heltal, derfor bruger jeg bare Val() hvor jeg er i tvivl.
Følgende virker!
Dim K as integer Dim R as integer Dim Aar as integer K = val(txtKapital.text) R = 100 / val(txtRente.text) Aar = cInt(txtAar.Text)
martin_moth: VB konvertere selv fra string til integer, så det er derfor ikke en fejl, hvis det skal laves helt rigtig så skal der også være error handler på
Hejsa.... Har prøvet martin_moth's model, der var bare en lille ting, noget med at vb selv afrundede renten (når den var i decimal, fx 0,25) men det har jeg selv ordnet...
Slo ->> smid lige et svar, syntes også du fortjener lidt point :)
Dim MyString as String MyString = "2.5" msgbox 2*MyString msgbox 2*val(MyString)
Du har helt ret i, at ovenstående vil lave 2 messageboxs med 2 forskellige resultater, men da bioharzard_666 bruger integer's til at gemme værdierne i, regnede jeg med han ville bruge heltal.
ps: til danske programmer(og andre internationale programmer) er det bedre at bruge CDbl("...") i stedet for val("...") da val kun genkender "." som decimal separator
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.