Format-funksjonen

Konverterer eit taluttrykk til ein streng og formaterer det i høve til det spesifiserte formatet.

Syntaks:


Format(uttrykk [, format As String]) As String

Parametrar:

uttrykk: Taluttrykket som skal konverterast til ein formatert streng.

format: Streng som spesifiserer formatkoden for talet. HViss format ikkje er teke med, fungerer Format-funksjonen som funksjonen LibreOffice Basic Str().

Returtype:

Tekststreng.

Formateringskodar

I BASIC kan ein format-kode delast i tre delar skilde med semikolon. Den første delen definerer formatet på ein positiv verdi, den andre for negative verdiar og den tredje for null. Set du opp berre éin format-kode, vil denne gjelda for alle tala.

Dei lokale innstillingane som styrer formateringa av tal, datoar og valuta i LibreOffice Basic vert sette i → Språk og nasjonale innstillingar → Generelt. I Basic-formatkodar vert alltid punktum (.) brukt som plasshaldar for desimalskiljeteiknet som er definert lokalt. Punktumet vert erstatta med det aktuelle skiljeteiknet.

Det same gjeld for dei lokale innstillingane for dato-, tid- og valuta-format. Basic-formatet vil verta tolka og vist i høve til dei lokale språkinnstillingane.

Lista nedanfor viser kodane som kan nyttast for å formatera eit taluttrykk:

Kode

Beskriving

0

Viss uttrykk har eit siffer på posisjonen til 0-en i format-koden, vert sifferet vist, elles vert det vist ein null.

Viss uttrykk har færre siffer enn talet på nullar i formatkoden, (på begge sider av desimalteiknet), vert leiande eller avsluttande nullar viste. Viss uttrykk har fleire siffer til venstre for desimalteiknet enn formatkoden har, vert dei overskytande sifra viste utan formatering.

Desimalplassar i uttrykkt vert avrunda i høve til talet på nullar som kjem etter desimalteiknet i Format-koden.

#

Viss uttrykk inneheld eit siffer i same plasseringa som plasshaldaren # i format-koden vert sifferet vist, elles vert ingenting vist i denne plasseringa.

Dette symbolet verkar på same måten som 0, utanom at leiande og avsluttande nullar ikkje vert viste viss det er fleire #-teikn i formatkoden enn siffer i uttrykk. Berre dei relevante sifra i uttrykk vert viste.

. (period)

Plasshaldaren for desimalteiknet bestemmer kor mange desimalplassar det skal vera til høgre og venstre for desimalteiknet.

Viss formatkode inneheld berre #-plasshaldarar til venstre for dette symbolet, vil tal mindre enn 1 byrja med desimalteiknet. For alltid å visa ein leiande null ved desimaltal, bruk 0 som plasshaldar på den første plassen framføre desimalteiknet.

Bruk av punktum som tusenskilje eller desimalteikn er avhengig av dei lokale innstillingane. Når du skriv inn eit tal direkte i BASIC kjeldekode, må du bruka punktum som desimalskiljeteikn. Kva teikn som vert vist som desimalteikn er derimot avhengig av talformatet sett i systeminnstillingane.

%

Multipliserer uttrykket med 100 og set inn prosentteiknet (%) der uttrykket vert vist i format-koden.

E- E+ e- e+

Viss format-koden inneheld minst ein plasshaldar for siffer (0 eller #) til høgre for symbolet E-, E+, e- eller e+, vert uttrykk formatert vitskapleg i eksponentialform. Bokstaven E eller e vert set inn mellom talet og eksponenten. Talet på plasshaldarar for tal til høgre for symbolet bestemmer talet på siffer i eksponenten.

Viss eksponenten er negativ, vert eit minusteikn (-) vist direkte framføre eksponenten med E-, E+, e-, e+. Viss eksponenten er positiv, vert plussteiknet vist berre framføre eksponentar med E+ eller e+.

- + $ ( ) space

: Pluss (+), minus (-), dollar ($), mellomrom eller parentesar skrivne direkte i format-koden vert vist som bokstavlege teikn.

\

For å kunna visa andre teikn enn dei som er lista her, må du setja ein bakoverstrek (\) framføre dei eller setja dei i doble hermeteikn (" ").

Bakoverstreken (\) viser det neste teiknet i format-koden.

Teikn i format-koden med ei spesiell meining kan berre visast som bokstavteikn viss dei har ein bakoverstrek framføre seg. Bakoverstreken vert ikkje vist. For å visa bakoverstrek må du skriva ein bakoverstrek framføre i formatkoden (\\).

Teikna som må ha ein bakoverstrek framføre seg for å verta viste som bokstavteikn, er formateringsteikna for dato og klokkeslett (a, c, d, h, m, n, p, q, s, t, w, y, /, :), numeriske formateringsteikn (#, 0, %, E, e, komma, punktum) og strengformateringsteikna (@, &, <, >, !).


Førehandsdefinerte format

Du kan også bruka det følgjande førehandsdefinerte talformatet. Med unntak av «Generelle tal» returnerer alle dei førehandsdefinerte formatkodane talet som eit desimaltal med to desimalar.

Viss du brukar førehandsdefinerte format, må namnet på formatet skrivast mellom doble hermeteikn ("").

Kode

Beskriving

"<"

Konverter uttrykk til små bokstavar

">"

Konverter uttrykk til store bokstavar.

"c" or "General Date"

Returnerer det numeriske uttrykket i kort datoformat, eventuelt med «H:MM:SS AM/PM». Viss uttrykk er ein streng, vert strengen returnert.

"n"

Returnerer minuttet for det numeriske uttrykket, med 1 eller 2 siffer.

"nn"

Returnerer minuttet av det numeriske uttrykket med to siffer.

"w"

Returnerer vekedagen for det numeriske uttrykket. 1 er søndag og 7 er laurdag.

"General Number"

Returnerer det numeriske uttrykket med 12 siffer (0.############).

"Currency"

Returnerer det numeriske uttrykket i valutaen sett lokalt.

"Fixed"

Returnerer det numeriske uttrykket med 2 desimalar (0,00).

"Standard"

Returnerer det numeriske uttrykket med tusenskilje og 2 desimalar (@0,00).

"Percent"

Returnerer det numeriske uttrykket som prosentverdi (0,00 %).

"Scientific"

Returnerer det numeriske uttrykket i vitskapleg notasjon (#.00E+00);

"Yes/No"

Returnerer «Ja» hviss det numeriske uttrykket ikkje er lik null, elles «Nei». «Ja» og «Nei» kjem frå det lokale regionoppsettet.

"True/False"

Returnerer «Sann» viss det numeriske uttrykket ikkje er lik null, «Usann» og «Sann» kjem frå det lokale regionoppsettet.

"On/Off"

Returnerer «På» viss det numeriske uttrykket ikkje er lik null, elles «Av». «På» og "«Av» kjem frå det lokale regionoppsettet.

"Long Date" or "dddddd"

Returnerer det numeriske uttrykket i langt datoformat styrt av det lokale regionoppsettet.

"Medium Date"

Returnerer det numeriske uttrykket i datoformatet DD-MMM-ÅÅ styrt av det lokale regionoppsettet.

"Short Date" or "ddddd"

Returnerer det numeriske uttrykket i kort datoformat styrt av det lokale regionoppsettet.

"Long Time" or "ttttt"

Returnerer det numeriske uttrykket i langt datoformatet styrt av det lokale regionoppsettet («T:MM:SS AM/PM»).

"Medium Time"

Returnerer det numeriske uttrykket i medium datoformat styrt av det lokale regionoppsettet (TT:MM AM/PM).

"Short Time"

Returnerer det numeriske uttrykket i kort datoformat styrt av det lokale regionoppsettet (TT:MM).


Feilkodar

5 Ugyldig prosedyreoppkall

Eksempel:


Sub ExampleFormat
    MsgBox Format(6328.2, "##,##0.00")
    ' bruk alltid punktum som desimalskiljeteikn når du skriv inn eit tal i Basic kjeldekode.
    ' kan for eksempel visa 6,328.20 i engelsk oppsett og 6.328,20 i norsk oppsett.
msgbox Format("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", "<") ' returnerer abcdefghijklmnopqrstuvwxyz1234567890, tala vert ikkje påverka.
msgbox Format("abcdefghijklmnopqrstuvwxyz1234567890", ">") ' returnerer ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, tala vert ikkje påverka.
msgBox Format(12345.6,"c") ' returnerer talet i datoformat som 18/10/33 14:24:00 på tysk.
msgBox Format(12345.6,"Generell dato") ' Same som «c».
msgbox format(12345.004,"n") ' returnerer 5
msgbox format(12345.004,"nn") ' returnerer 05
msgbox format(12345.6,"w") ' returnerer 4 (onsdag).
msgbox format(log(123),"Generelt nummer") ' returnerer 4,812184355372 på tysk
msgbox format(123456.7890,"Fixed") ' 123456.79
msgbox format(123456.1234,"Fixed") ' 123456.12
msgbox format(123456.7890,"Standard") '123,456.79
msgbox format(123456.1234,"Standard") '123,456.12
msgbox format(12.3456,"Percent") ' 1234.56%
msgbox format(0.123456,"Percent") '12.35%
msgbox format(123,"Ja/Nei") ' returnerer lokalisert «Ja»
msgbox format(0,"Ja/Nei") ' returnerer lokalisert «JNei»
msgbox format(-1,"Sann/Usann") ' returnerer lokalisert «Sann»
msgbox format(123,"På/Av") ' returnerer lokalisert «På»
msgbox format(45756.73,"Long Date") ' returnerer onsdag 9. april 2025 i språket programmet er sett opp med
End Sub

Støtt oss!