miten saisi luvun pyöristettyä lähimpään numeroon 3:n desimaalin tarkkuudella? että esim. luku 1234 = 1230? ja luku 1235 = 1240??
Kieli?
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
.
Pyöristyksen voi hoitaa Round() funktiolla mikäli pyöristetään desimaali lukuja.
Kiitos. TM; onpas mennyt kummalliseksi kun nykyään tarvii jopa kieli mainita.. :P
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.
Joo... Qb on yleistynyt luultavasti viimeaikoina keskusteluissa että hyvähän se olisi ;)
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.
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)
.
Aihe on jo aika vanha, joten et voi enää vastata siihen.