Kirjautuminen

Haku

Tehtävät

Hakemisto: Visual Basic: Merkkijonot: Format

Funktio palauttaa lausekkeen muotoiltuna.

Format(lauseke[, muotoilumerkkijono[, viikonensimmäinenpäivä[, vuodenensimmäinenviikko]]])

Lauseke on muotoiltava merkkijono, luku tai päivämäärä. Muotoilumerkkijono määrittää lausekkeen muotoilutavan.

Muotoilumerkkijonossa olevat välilyönnit sekä merkit +, - ja $ säilyvät ennallaan. Lisäksi kaikki merkit, joita ennen on \, näytetään sellaisenaan. Toinen tapa säilyttää merkki on ympäröidä se lainausmerkeillä.

Jos lauseke on merkkijono, muotoilumerkkijono voi sisältää seuraavia merkkejä:

merkkivaikutus
@Esittää merkkijonon merkkiä. Merkkien paikat täytetään oikealta vasemmalle. Jos merkkijono loppuu kesken, merkin paikalle tulee tyhjä.
&Sama kuin @, paitsi että merkin paikalle ei tule mitään, jos merkkijono loppuu kesken.
!@:t ja &:t täytetään vasemmalta oikealle.
>Muuttaa kaikki merkit suuriksi.
<Muuttaa kaikki merkit pieniksi.

Jos lauseke on luku, muotoilumerkkijono voi sisältää seuraavia merkkejä:

merkkivaikutus
0Merkki vastaa yhtä numeroa luvussa. Jos merkkejä on enemmän kuin numeroita, luvun alkuun tai loppuun tulee ylimääräisiä nollia. Jos numeroita on enemmän, desimaalipilkun vasemmanpuoleinen osa pysyy ennallaan ja oikeanpuoleiset numerot pyöristyvät merkkien määrän mukaan.
#Sama kuin 0, paitsi että ylimääräisiä nollia ei tule, jos merkkejä on luvun pituutta enemmän.
.Määrittää desimaalipilkun paikan.
,Jos merkki on luvun keskellä, luvun numerot jaetaan kolmen ryhmiin luettavuuden parantamiseksi. Jos merkki on luvun lopussa, luku jaetaan 1000:lla.
%Luku kerrotaan 100:lla ja sen perään tulee prosenttimerkki.
e-, e+, E-, E+Luku esitetään kymmenen potenssina.
/Päivämäärän osat (päivät, kuukaudet ja vuodet) erotetaan kauttaviivalla.
:Kellonajan osat (tunnit, minuutit ja sekunnit) erotetaan kaksoispisteellä.[/td]!

Jos lauseke on päivämäärä, muotoilumerkkijono voi sisältää seuraavia merkkejä:

merkkivaikutus
ctäydellinen päivämäärä ja kellonaika
dkuukauden päivä yksi- tai kaksinumeroisena (1 - 31)
ddkuukauden päivä kaksinumeroisena (01 - 31)
dddviikonpäivän nimen lyhenne (ma - su)
ddddviikonpäivän nimi (maanantai - sunnuntai)
dddddpäivämäärän lyhyt muoto
ddddddpäivämäärän pitkä muoto
htunti yksi- tai kaksinumeroisena (0 - 23)
hhtunti kaksinumeroisena (00 - 23)
mkuukausi yksi- tai kaksinumeroisena (1 - 12)
mmkuukausi kaksinumeroisena (01 - 12)
mmmkuukauden nimen lyhenne (tammi - joulu)
mmmmkuukauden nimi (tammikuu - joulukuu)
nminuutit yksi- tai kaksinumeroisena (0 - 59)
nnminuutit kaksinumeroisena (00 - 59)
qvuosineljännes (1 - 4)
ssekunnit yksi- tai kaksinumeroisena (0 - 59)
sssekunnit kaksinumeroisena (00 - 59)
ttttttäydellinen kellonaika
wviikonpäivän numero (1 - 7)
wwviikon numero (1 - 53)
yvuodenpäivä (1 - 366)
yyvuosi kaksinumeroisena (03)
yyyyvuosi nelinumeroisena (2003)

Päivämäärien esityksessä käytettävä viikon ensimmäinen päivä on joku seuraavista:

arvovakiokuvaus
0vbUseSystemjärjestelmän asetusten mukainen
1vbSundaysunnuntai (oletus)
2vbMondaymaanantai
3vbTuesdaytiistai
4vbWednesdaykeskiviikko
5vbThursdaytorstai
6vbFridayperjantai
7vbSaturdaylauantai

Myös päivämääriin liittyvä vuoden ensimmäinen viikko on joku seuraavista:

arvovakiokuvaus
0vbUseSystemjärjestelmän asetusten mukainen
1vbFirstJan1viikko, jona on tammikuun ensimmäinen päivä (oletus)
2vbFirstFourDaysviikko, jossa on vähintään neljä uuteen vuoteen kuuluvaa päivää
3vbFirstFullWeekvuoden ensimmäinen kokonainen viikko

Esimerkki:

'merkkijonojen muotoilua
Debug.Print Format("abcdefg", "&&-&&-&&-&&") 'a-bc-de-fg
Debug.Print Format("abcdefg", "!&&-&&-&&-&&") 'ab-cd-ef-g
Debug.Print Format("abcdefg", ">") 'ABCDEFG

'lukujen muotoilua
Debug.Print Format(15, "000") '015
Debug.Print Format(15, "###") '15
Debug.Print Format(5.94573, "0.00 \m\a\r\k\k\a\a") '5,95 markkaa
Debug.Print Format(1234567890, "#,#") '1 234 567 890
Debug.Print Format(1234567890, "#.##E+") '1,23E+9

'päivämäärien muotoilua
Dim testi As Date
testi = "9.4.2003 22:25"
Debug.Print Format(testi, "hh:nn:ss") '22:25:00
Debug.Print Format(testi, "c") '9.4.2003 22:25:00
Debug.Print Format(testi, "mmmm\n d\. yyyy") 'huhtikuun 9. 2003
Debug.Print Format(testi, "w") '4
Debug.Print Format(testi, "w", vbMonday) '3
Tietoa sivustosta