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 med formatkoden for talet. Viss format er sløyfa, verkar format-funksjonen på same måten som LibreOfficeDev Basic-funksjonen Str().

Returverdi:

Tekststreng.

Formateringskodar

Ein format-kode kan 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 tal.

Dei lokale innstillingane som styrer formateringa av tal, datoar og valuta i LibreOfficeDev 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:

Code

Description

0

If expression has a digit at the position of the 0 in the format code, the digit is displayed, otherwise a zero is displayed.

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.

#

If expression contains a digit at the position of the # placeholder in the format code, the digit is displayed, otherwise nothing is displayed at this position.

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)

The decimal placeholder determines the number of decimal places to the left and right of the decimal separator.

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 uttrykk med 100 og set inn prosentteiknet (%) der uttrykk er i format-koden.

E- E+ e- e+

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

- + $ ( ) mellomrom: A pluss (+), minus (-), dollar ($), mellomrom, eller parentesar skrivne direkte i format-koden, vert viste som bokstavteikn.

\

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 ("").

Code

Description

"<"

Convert expression to lower case

">"

Convert expression to upper case.

"c" or "General Date"

Returns the numeric expression in short date format, optionally with "H:MM:SS AM/PM". If expression is a string, returns the string.

"n"

Returns the minute of the numeric expression, with 1 or 2 digits.

"nn"

Returns the minute of the numeric expression with two digits.

"w"

Returns the week day of the numeric expression. 1 is Sunday and 7 is Saturday.

"General Number"

Returns the numeric expression with 12 digits (0.############).

"Currency"

Returns the numeric expression in the currency of the locale.

"Fixed"

Returns the numeric expression with 2 decimal places (0.00).

"Standard"

Returns the numeric expression with thousands separators and 2 decimals (@0.00).

"Percent"

Returns the numeric expression as percent value (0.00%).

"Scientific"

Returns the numeric expression in scientific notation (#.00E+00);

"Yes/No"

Returns "Yes" if the numeric expression is not equal to zero, "No" otherwise. "Yes" and "No" are localized.

"True/False"

Returns "True" if the numeric expression is not equal to zero, "False" otherwise. "True" and "False" are localized.

"On/Off"

Returns "On" if the numeric expression is not equal to zero, "Off" otherwise. "On" and "Off" are localized.

"Long Date" or "dddddd"

Returns the numeric expression in system long date format, and depends on the locale.

"Medium Date"

Returns the numeric expression in date format DD-MMM-YY, and depends on the locale.

"Short Date" or "ddddd"

Returns the numeric expression in system short date format, and depends on the locale.

"Long Time" or "ttttt"

Returns the numeric expression in system long time format, and depends on the locale("H:MM:SS AM/PM").

"Medium Time"

Returns the numeric expression in system medium time format, and depends on the locale (HH:MM AM/PM)

"Short Time"

Returns the numeric expression in system short time format, and depends on the locale (HH: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", "<") ' returns abcdefghijklmnopqrstuvwxyz1234567890, digits not affected.
msgbox Format("abcdefghijklmnopqrstuvwxyz1234567890", ">") ' returns ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, digits not affected.
msgBox Format(12345.6,"c") ' returns the number in date format as 18/10/33 2:24:00 PM in German locale.
msgBox Format(12345.6,"General Date") ' Same as "c".
msgbox format(12345.004,"n") ' returns 5
msgbox format(12345.004,"nn") ' returns 05
msgbox format(12345.6,"w") ' returns 4 (Wednesday).
msgbox format(log(123),"General Number") ' returns 4,812184355372 in German locale
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,"Yes/No") ' returns localized "Yes"
msgbox format(0,"Yes/No") ' returns localized "No"
msgbox format(-1,"True/False") ' returns localized "True"
msgbox format(123,"On/Off") ' returns localized "On"
msgbox format(45756.73,"Long Date") ' returns Wednesday, April 9, 2025 in your locale
End Sub