Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Desimaalit ja format()

trinit [13.01.2003 19:36:36]

#

Pitäisi saada luvun x desimaaleista käyttöön ainoastaan kaksi merkitsevää desimaalia. Onnistunee format():lla mutta kysynkin että miten? En nyt meinaa millään keksiä miten sitä käyttää.

Esimerkiksi luku 123.12345 muuttuisi konvertoinnin jälkeen luvuksi 123.12 jolloin käyttäisin sitä sitten laskuissani. Tietysti luvun voisi ensin muuttaa merkkijonoksi ja siitä sitten leikata mid$ komennolla liiat desimaalit pois, mutta tekisin sen mieluummin "oikein" kuin kierrättämällä sen noin.

Antti Laaksonen [13.01.2003 20:07:36]

#

Format-funktiollakin se saattaa onnistua, mutta helpompi tapa on käyttää Round-funktiota, joka pyöristää luvun tietyn desimaalin tarkkuudelle. Jos viimeinen numero on 5 tai suurempi, luku pyöristetään ylöspäin (123,12345 neljän desimaalin tarkkuudella pyöristyy 123,1235).

Dim luku As Single, desimaalit As Integer
luku = 123.12345
desimaalit = 2

MsgBox Round(luku, desimaalit)

progo [13.01.2003 20:08:06]

#

Pyöristämällähän se täytyy tehdä, muuten ei ole tulokset sitten oikeita.. jos muistaisin nyt tällä hetkellä sen funktion, mutta kun en.. :(

add: jahas taisi se Antti keritä ensin :=

trinit [13.01.2003 21:07:19]

#

lainaus:

mutta helpompi tapa on käyttää Round-funktiota, joka pyöristää luvun tietyn desimaalin tarkkuudelle.

No niinpä tietysti, Round:lla se onnistuukin paremmin. Yritin muistella mitä muita tapoja pyöristykseen oli enkä muistanut tuota. Kiitoksia nyt vain.

Vastaus

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

Tietoa sivustosta