Kirjoittaja: sooda
Kirjoitettu: 23.09.2004 – 23.09.2004
Tagit: matematiikka, koodi näytille, vinkki
Jostai vaan tuli idea tehdä jakokulmalasku... Elikkäs, tällä voi laskea niin isoja jakolaskuja kun haluaa. Olisin tehny myös kerto-, vähennys- ja pluslaskut mutta innostus lopahti :P
Palauttaa stringin jossa on ensin tulos, sitten tyhjä välilyönti ja sitte jakojäännös.
Ite hommeli
Function jaa(jaettava As String, jakaja As Long)
'kelataan jaettavan joka numero läpi
For i = 1 To Len(jaettava)
luku = Val(jjäännös & Mid(jaettava, i, 1))
tulos = luku \ jakaja '\ heittää desimaalit mäkeen
ulos = ulos & tulos
jjäännös = luku - tulos * jakaja 'homman melkein jopa ydin
Next
While Left(ulos, 1) = "0" And ulos <> "0": ulos = Mid(ulos, 2): Wend 'ylimääräset nollat mäkeen
jaa = ulos & " " & jjäännös 'jännä tapa palauttaa kaks eri arvoa.
End Functionkäyttöesimerkki
Sub form_load()
':o onpas iso luku
jako = jaa("487345734658394568934568934658964856926895028456834605435385464567667567690567590756756797887785654534567867866675675676576748642", 4) 'jakohomma
'tulos ja jj irti vastauksesta
tulos = Left(jako, InStr(jako, " ") - 1)
jakojäännös = Mid(jako, InStr(jako, " ") + 1)
If jakojäännös <> "0" Then 'jos
desimaalit = jakojäännös / 4 'tästä pitäis tulla < 0
tulos = tulos & "," & Mid(desimaalit, 3) 'koko tulos
End If
MsgBox tulos
End
End Sub:o aika iso luku
Toimii muuten hyvin, mutta toi desimaali pilkku vois kylla jäädä
Esim:
MsgBox jaa("10,707", "5") '20141
Ha! Minulta se idea tuli ^^
Mikäs tossa on suurin desimaalimäärä?
TM: taitaa olla doublen desimaalimäärä. Voihan tota soveltaa ja laskea jakokulmassa noi desimaalitki :)