Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Luvun pyöristäminen

Sivun loppuun

Harrastelija [11.06.2005 19:27:35]

#

miten saisi luvun pyöristettyä lähimpään numeroon 3:n desimaalin tarkkuudella? että esim. luku 1234 = 1230? ja luku 1235 = 1240??

T.M. [11.06.2005 19:38:33]

#

Kieli?

Antti Laaksonen [11.06.2005 20:20:10]

#

Esimerkkipyöristykset eivät ole kolmen desimaalin tarkkuudella, sillä luvuissa ei ole lainkaan desimaaleja. Jos haluat pyöristää kymmenien tarkkuudelle, kaava on Int(luku / 10 + 0.5) * 10.

tuomas [11.06.2005 20:54:33]

#

Pyöristyksen voi hoitaa Round() funktiolla mikäli pyöristetään desimaali lukuja.

Harrastelija [11.06.2005 21:21:32]

#

Kiitos. TM; onpas mennyt kummalliseksi kun nykyään tarvii jopa kieli mainita.. :P

T.M. [11.06.2005 21:36:02]

#

No ehkä sen takia jos löytyy valmis funktio, tämä on QB ja VB alue, joiden funktiot eroavat luultavasti toisistaan sen verran että kieli olisi hyvä mainita jotta saisi parhaan mahdollisen vastauksen.

Harrastelija [12.06.2005 13:41:45]

#

Joo... Qb on yleistynyt luultavasti viimeaikoina keskusteluissa että hyvähän se olisi ;)

hunajavohveli [12.06.2005 13:45:55]

#

Yleistynyt? Ihan yhtä yleisenä se on minun mielestäni pysynyt ne puolitoista vuotta, joiden aikana olen täällä putkassa käynyt.

Jos kyse olisi QB:stä tai muusta vastavaasta, jossa round-funktiota ei olisi käytettävissä, niin tuon saa hoidettua niin, että kertoo vastaavalla kymmenen potenssilla, pyöristää sitten kokonaisluvuksi ja jakaa sitten taas samalla kymmenen potenssilla. Esim. jos pitää pyöristää kolmen desimaalin tarkkuuteen, niin potenssi on 10^3 eli 1000.

Antti Laaksonen [12.06.2005 13:51:00]

#

Lisäksi lukuun pitää muistaa lisätä ennen kokonaisluvuksi muuttamista 0,5, jotta pyöristetään tarpeen tullen ylöspäin. Kolmen desimaalin tarkkuudelle pyöristämisen kaava on siis INT(luku * 1000 + .5) / 1000).


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta