Functie Format

Converteert een numerieke expressie naar een tekenreeks en formatteert het dan naar de gespecificeerde opmaak.

Syntaxis:


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

Parameters:

expression: Numerieke expressie die u wilt omzetten naar een geformatteerde tekenreeks.

opmaak: Tekenreeks die de opmaakcode voor het nummer specificeert. Als opmaak wordt weggelaten, werkt de functie Format zoals de functie LibreOffice Basic Str().

Retourtype:

Tekenreeks.

Opmaakcodes

In BASIC kan een opmaak-code worden verdeeld in drie secties, gescheiden door puntkomma's. Het eerste deel definieert de notatie voor positieve waardes, het tweede deel voor negatieve waardes en het derde deel voor nul. Als u slechts één opmaak-code opgeeft, geldt deze voor alle getallen.

U kunt de landinstelling instellen die wordt gebruikt voor het beheren van de opmaak van getallen, datums en valuta's in LibreOffice Basic in - Taalinstellingen - Talen. In basisformaatcodes wordt de decimale punt (.) altijd gebruikt als plaatsaanduider voor het decimaalscheidingsteken dat in uw taalinstelling is gedefinieerd en wordt vervangen door het overeenkomstige teken.

Hetzelfde geldt voor de landinstellingen voor datum-, tijd- en valuta-opmaak. De BASIC-notatiecode wordt geïnterpreteerd en weergegeven volgens uw landinstelling.

De codes die gebruikt kunnen worden voor het formatteren van een numerieke expressie zijn:

Code

Beschrijving

0

Als expressie een cijfer heeft op de positie van de 0 in de opmaak-code, wordt het cijfer weergegeven, anders wordt een nul weergegeven.

Als de expression minder cijfers bevat dan het aantal nullen in de format code, (aan beide zijden van de decimaal), dan worden nullen vooraan en achteraan getoond, Als de expression meer cijfers heeft voor de komma dan het aantal nullen in de format code, dan worden die extra cijfers onopgemaakt getoond.

Decimale plaatsen in de expression worden afgerond naar het aantal nullen na het decimale scheidingsteken in de format code.

#

Als expressie een cijfer bevat op de positie van de # tijdelijke aanduiding in de opmaak-code, wordt het cijfer weergegeven. Anders wordt er niets op deze positie weergegeven.

Het symbool werkt als de 0, echter zonder dat de nullen vooraan en achteraan worden getoond als er meer # tekens in de format code voorkomen dan in de expression. Alleen relevante cijfers van de expression worden getoond.

. (period)

De decimale plaatsaanduiding bepaalt het aantal decimalen links en rechts van het decimaalteken.

Als de format code links van dit symbool alleen # placeholders bevat, dan staat er voor getallen kleiner dan 1 een decimaal scheidingsteken. Om in deze gevallen toch een nul voor het decimaal scheidingsteken te krijgen dient u als placeholder een 0 te gebruiken op de eerste plaats links van het decimaal scheidingsteken.

Het gebruik van de punt als scheidingsteken voor duizendtallen en decimalen is afhankelijk van de landinstellingen. Als u een getal direct in BASIC-broncode invoert, gebruik dan altijd een punt als decimaal scheidingsteken. Het feitelijke teken dat wordt weergegeven als decimaal scheidingsteken is afhankelijk van uw systeeminstellingen.

%

Vermenigvuldigt de expressie met 100 en voegt het procentteken (%) in op de plaats waar de expressie in de opmaak-code staat.

E- E+ e- e+

Als de opmaak-code minstens één cijferplaatsaanduiding (0 of #) rechts van het symbool E-, E+, e- of e+ bevat, wordt de expressie geformatteerd in de wetenschappelijke of exponentiële notatie. De letter E of e wordt tussen het getal en de exponent ingevoegd. Het aantal plaatsaanduidingen voor cijfers rechts van het symbool bepaalt het aantal cijfers in de exponent.

Als de exponent negatief is, wordt een minteken vlak voor een exponent met E-, E+, e-, e+ geplaatst. Als de exponent positief is wordt een plusteken alleen voor exponenten met E+ of e+ geplaatst.

- + $ ( ) space

: Een plusteken (+), minteken (-), dollarteken ($), spatie of haakjes die rechtstreeks in de opmaak-code worden ingevoerd, worden weergegeven als een letterlijk teken.

\

Om andere tekens dan die hier opgesomd werden weer te geven, moet u het laten voorafgaan door een backslash (\), of het tussen aanhalingstekens plaatsen (" ").

De backslash geeft het volgende teken in de opmaak-code weer.

Tekens in de format code die een speciale betekenis hebben kunnen dus alleen als tekst worden getoond door er een backslash voor te zetten. De backslash wordt uiteraard niet getoond, om een backslash te tonen dient u een dubbele backslash (\\) in de de opmaakcode te zetten.

Tekens die moeten worden voorafgegaan door een backslash in de opmaakcode om te worden weergegeven als letterlijke tekens zijn de datum- en tijdopmaaktekens (a, c, d, h, m, n, p, q, s, t, w, y, /, :), numerieke opmaaktekens (#, 0, %, E, e, komma, punt) en tekenreeksopmaaktekens (@, &, <, >, !).


Vooraf gedefinieerde indelingen

U kunt ook een al gedefinieerde opmaak voor getallen gebruiken. Met uitzondering van de "Algemene getalopmaak" tonen al die opmaakcodes het getal als een getal met twee cijfers achter de komma.

Als u voorgedefinieerde opmaak gebruikt, moet de naam van de opmaak tussen aanhalingstekens staan.

Code

Beschrijving

"<"

expressie naar kleine letters converteren

">"

expressie naar hoofdletters converteren

"c" or "General Date"

Retourneert de numerieke expressie in een korte datumnotatie, optioneel met "U:MM:SS AM/PM". Als expressie een tekenreeks is, wordt de tekenreeks geretourneerd.

"n"

Retourneert de minuut van de numerieke expressie, met 1 of 2 cijfers.

"nn"

Retourneert de minuut van de numerieke expressie, met 2 cijfers.

"w"

Retourneert de weekdag van de numerieke expressie. 1 is maandag en 7 is zondag.

"General Number"

Geeft de numerieke expressie met 12 cijfers (0,#############).

"Currency"

Retourneert de numerieke expressie in de valuta van de taalinstelling.

"Fixed"

Retourneert de numerieke expressie met 2 decimalen (0,00).

"Standard"

Retourneert de numerieke expressie met scheidingstekens voor duizendtallen en 2 decimalen (@0,00).

"Percent"

Retourneert de numerieke expressie als een percentagewaarde (0,00%).

"Scientific"

Retourneert de numerieke expressie in wetenschappelijke notatie (#.00E+00);

"Yes/No"

Retourneert "Ja" als de numerieke expressie ongelijk is aan nul, anders "Nee". "Ja" en "Nee" zijn gelokaliseerd.

"True/False"

Retourneert "Waar" als de numerieke expressie ongelijk is aan nul, anders "Onwaar". "Waar" en "Onwaar" zijn gelokaliseerd.

"On/Off"

Retourneert "Aan" als de numerieke expressie niet gelijk is aan nul, anders "Uit". "Aan" en "Uit" zijn gelokaliseerd.

"Long Date" or "dddddd"

Retourneert de numerieke expressie in de lange datumnotatie van het systeem en is afhankelijk van de taalinstellingen.

"Medium Date"

Retourneert de numerieke expressie in de datumnotatie DD-MMM-JJ en is afhankelijk van de taalinstellingen.

"Short Date" or "ddddd"

Retourneert de numerieke expressie in de korte datumnotatie van het systeem en is afhankelijk van de taalinstellingen.

"Long Time" or "ttttt"

Retourneert de numerieke expressie in de lange-tijdnotatie van het systeem en is afhankelijk van de taalinstelling("H:MM:SS AM/PM").

"Medium Time"

Retourneert de numerieke expressie in systeem-medium-time-formaat en is afhankelijk van de taalinstelling (UU:MM AM/PM)

"Short Time"

Retourneert de numerieke expressie in het korte-tijdsformaat van het systeem en is afhankelijk van de taalinstellingen (UU:MM).


Foutcodes:

5 Ongeldige aanroep van procedure

Voorbeeld:


Sub ExampleFormat
    MsgBox Format(6328.2, "##,##0.00")
    ' gebruik altijd een punt als decimaal scheidingsteken als u getallen invoert in BASIC-broncode.
    ' geeft bijvoorbeeld 6,328.20 weer in Engelse landinstellingen en 6.328,20 in Nederlandse.
msgbox-indeling ("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", "<") ' retourneert abcdefghijklmnopqrstuvwxyz1234567890, cijfers niet beïnvloed.
msgbox-indeling("abcdefghijklmnopqrstuvwxyz1234567890", ">") ' retourneert ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, cijfers niet beïnvloed.
msgBox-indeling(12345.6,"c") ' retourneert het getal in de datumnotatie 18/10/33 2:24:00 PM in de Duitse taalinstelling.
msgBox-indeling(12345.6,"Algemene datum") ' Hetzelfde als "c".
msgbox-indeling(12345.004,"n") ' retourneert 5
msgbox-indeling(12345.004,"nn") ' retourneert 05
msgboxi-indeling(12345.6,"w") ' retourneert 4 (Woensdag).
msgbox-indeling(log(123),"Algemeen getal") ' retourneert 4,812184355372 in Duitse taalinstelling
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-indeling(123,"Ja/Nee") ' retourneert vertaalde "Ja"
msgbox-indeling(0,"Ja/Nee") ' retourneert vertaalde "Nee"
msgbox-indeling(-1,"Waar/Onwaar") ' retourneert vertaalde "Waar"
msgbox-indeling(123,"Aan/Uit") ' retourneert vertaalde "Aan"
msgbox-indeling(45756.73,"Lange datum") ' retourneert Woensdag, 9 april, 2025 in uw taalinstelling
End Sub

Help ons, alstublieft!