Format Function
Format muuntaa luvun merkkijonoksi ja sitten muotoilee sen määrätyn muotoilun mukaisesti.
Syntaksi:
Format (luku1 [, muotoilu1 As String])
Palautusarvo:
merkkijono (String)
Parametrit:
Luku1: numeerinen lauseke, joka halutaan muuntaa muotoilluksi merkkijonoksi.
Muotoilu1: merkkijono, joka määrittää luvun muotoilukoodin. Jos muotoilu1 on jätetty pois, Format-funktion toiminta vastaa Str-funktiota.
Muotoilukoodit
Seuraavassa luettelossa kuvaillaan ne koodit, joita voidaan käyttää luvun muotoiluun:
0: Jos luku1:ssä on numero samassa asemassa kuin muotoilukoodissa 0, niin numero esitetään, muutoin esitetään nolla.
Jos luku1:ssä vähemmän numeroita kuin nollia muotoilukoodissa, (kummalla tahansa puolella desimaalierotinta), etu- tai desimaalinollia esitetään. Jos luvussa on enemmän numeroita ennen desimaalierotinta kuin muotoilukoodissa on nollia, ylimenevät numerot esitetään muotoilemattomina.
Luvun desimaaliosa pyöristetään muotoilu1-koodin desimaalierottimen jälkeisten nollien mukaisesti.
#: Jos luku1:ssä on numero samassa asemassa kuin muotoilu1-koodissa paikkamerkki #, niin numero esitetään, muutoin asemassa ei esitetä mitään.
Tämä symboli toimii samoin kuin 0, paitsi ettei etu- tai loppunollia esitetä, jos #-merkkejä on enemmän kuin numeroita luvussa. Vain luvun merkitsevät numerot esitetään.
.: Desimaalipaikkamerkki määrittää numeroiden määrän vasemmalle ja oikealle desimaalierottimesta.
Jos muotoilukoodissa on vain #-paikkamerkkejä vasemmalle tästä symbolista, luvut, jotka ovat pienempiä kuin 1, alkavat desimaalierottimella. Kun halutaan esittää aina etunolla kokonaisosattomilla desimaaliluvuilla, käytetään 0-paikkamerkkiä ykkösten paikalla.
%: luku kerrotaan 100 ja prosenttimerkki (%) lisätään siihen asemaan, missä se on muotoilukoodissa.
E- E+ e- e+ : Jos muotoilukoodissa on vähintään yksi numeron paikkamerkki (0 tai #) oikealle symbolista E-, E+, e-, tai e+, luku muotoillaan tieteelliseen eli eksponenttilukumuotoon. Merkki E tai e lisätään lukuosan ja eksponenttiosan väliin. Paikkamerkkien lukumäärä oikealle symbolista määrittää eksponentin numeroiden määrän.
Eksponentin ollessa negatiivinen, miinusmerkki esitetään välittömästi eksponentin edessä kaikilla koodeilla E-, E+, e- ja e+. Positiivisen eksponentin plusmerkki esitetään vain koodeilla E+ ja e+.
Tuhaterotin esitetään, jos muotoilukoodissa se on rajattu numeroiden paikkamerkein (0 tai #).
Pisteen käyttö tuhat- tai desimaalierottimena on riippuvainen maa-asetuksista. Kun numeroita kirjoitetaan suoraan Basicin lähdekoodiin, desimaalierottimena käytetään aina pistettä. Todellinen desimaalierottimena näytettävä merkki riippuu käyttöjärjestelmän lukumuotoasetuksista.
- + $ ( ) välilyönti: Plus(+)-, miinus(-)-, dollarin($), välilyönti-, tai sulkumerkit kirjoitettuna suoraan muotoilukoodiin esitetään sellaisinaan.
Muiden kuin tässä esitettyjen merkkien esittämiseksi pitää käyttää joko edeltävää kenoviivaa (\), tai sulkea merkki lainausmerkkeihin (" ").
\ : Kenoviiva esittää sitä seuraavan merkin muotoilukoodissa.
Muotoilukoodille erityismerkitykselliset merkit voidaan esittää sellaisinaan vain kun niitä edeltää kenoviiva. Kenoviivaa itseään ei esitetä, ellei käytetä kaksoiskenoviivaa (\\) muotoilukoodissa.
Ne merkit, joita pitää edeltää kenoviiva, että ne esitettäisiin sellaisinaan kirjaimellisesti, ovat päivämäärien ja kellonaikojen muotoilumerkit (a, c, d, h, m, n, p, q, s, t, w, y, /, :), lukumuotoilumerkit (#, 0, %, E, e, pilkku, piste)ja merkkijonojen muotoilumerkit (@, &, <, >, !).
Käytettävissä on myös seuraavat avainsanoin esimääritellyt lukumuotoilut. Lukuun ottamatta "General Number"-määritystä, kaikki esimääritellyt muotoilukoodit palauttavat desimaaliluvut kahdella desimaalilla.
Kun esimääriteltyjä lukumuotoja käytetään, muotoilun avainsana pitää sulkea lainausmerkkeihin.
Esimääritelty muotoilu
General Number: luvut esitetään niin kuin ne on syötettykin.
Currency: maakohtainen valuuttamerkki esitetään asiaan kuuluvalla paikallaan ja negatiiviset luvut esitetään sulkeissa.
Fixed: desimaalierottimen edessä esitetään aina vähintään yksi numero.
Standard: luvut esitetään tuhaterottimin.
Percent: luku kerrotaan 100:lla ja prosenttimerkki lisätään luvun loppuun.
Scientific: luvut esitetään tieteellisellä esitystavalla (esimerkiksi 1000 muodossa 1,00E+03).
Muotoilukoodi on jaettavissa kolmeen osaan, jotka erotellaan toisistaan puolipistein. Ensimmäinen osa muotoilee positiiviset luvut, toinen osa on negatiivisille luvuille ja kolmas nollalle. Jos määritellään vain yksi muotoilukoodi, sitä käytetään kaikkiin lukuihin.
Esimerkki:
Sub ExampleFormat
MsgBox Format(6328.2, "##,##0.00")
' Basic-lähdekoodissa käytetään aina pistettä desimaalierottimena.
' esitetään esimerkiksi muodossa 6,328.20 englannin kielialueella ja muodossa 6.328,20 saksan kielialueella.
End Sub