Varmaan aikalailla typerä kysymys, mutta frendi kysyi neuvoa ja kuvittelin hänelle semmoisen heti lonkalta keksineenikin, mutta eihän tästä tarkemmin tarkasteltuna näin mitään tullut..
Jospa joku olisi tämmöisen laskutoimituksen joskus tehnyt, niin säästäisi vähän aikaa..
Eli pitäisi kirjoittaa pieni softa videovuokraamoon liittyen. Jos oikein ymmärsin, niin tehtäväkuvaus meni seuraavasti:
Filmin vuokraus maksaa x -euroa. Jokaisesta vuokratusta filmistä saa etusetelin ja kun kolme on läjässä, niin niillä saa ilmaisen. Ts. joka neljäs filmi on ilmainen. Pitäisi kirjoittaa kaava, joka laskisi todelliset kustannukset.
Itse ajattelin homman näin ja kuvittelin äkkiseltään, että siinäpä se ja laitoin puhelimen kiinni....
olkoon hinta (x) tuossa vaikka VAKIO
intFilmit as Integer
curHinta as Currency
intIlmaiset as Integer
intIlmaiset=intFilmit/4
curHinta= (intFilmit-intIlmaiset)*VAKIO
.... ja sitten tajusin, että ei se tietenkään ole näin, kun se perkele pyöristelee mun numeroita ja jo kymmenen filmin kohdalla menee näin ollen pieleen, jos oikein pikaisesti laskin :)
En nyt sitten osannut sen kummempaa neuvoa siihen hätään antaa, mutta jäi tuo vähän mietityttämään.. Kun ei laskinta ole käsillä, eikä koodiakaan nyt kerkeä vääntämään, niin kysyisin onko joku tehnyt vastaavanlaista pätkää.
Miten tuo käyttäytyisi massan kanssa, jos esim. tuon ilmaiset -muuttujan laittaisi vaikka ensin Singleksi, sitten plokkaisi siitä esim. 0,2 pois, jotta Integerissä alle x,7 arvot pyöristyisivät aina alaspäin?
Järki kyllä sanoisi kokeilematta, ettei natsaa näinkään, vaan tuohon on kyllä varmaan joku ihan rautalankalaskutoimitus, jolla homma hoituu, vai köh?
Edit.. Hmm. Helpoinhan olisi, jos desimaaleista pääsisi kokonaan eroon, niin, että muuttuja ei koskaan huomioisi mitään muuta kuin sen luvun kokonaisosan. Joku pyöristysfunktio, jolla saa desimaalit pois tai siis aina pyöristettyä alaspäin?
VB on ympäristö.