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.

format: Tekenreeks die de formaatcode specificeert voor het getal. Indien format wordt weggelaten, dan werkt de functie Format function als de LibreOffice Basic functie Str().

Geretourneerde waarde:

Tekenreeks.

Opmaakcodes

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

0: Indien de expression een cijfer bevat op de positie van de 0 in de format code, dan wordt het cijfer getoond en anders wordt er een nul getoond.

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 de expression een cijfer bevat op de plaats van de # placeholder in de format code, dan wordt op die positie het cijfer getoond en anders niets.

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.

.: Het decimaalteken bepaalt het aantal decimale posities aan de linker- en rechterkant van het decimale scheidingsteken.

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.

%: Vermenigvuldigt de expressionmet 100 en voegt het procentteken (%) toe waar de expression voorkomt in de format code.

E- E+ e- e+ : Als de format code minstens een placeholder voor een cijfer (0 or #) bevat rechts van het symbool E-, E+, e-, or e+, dan wordt de expression opgemaakt in de de wetenschappelijke ook wel de exponentiële notatie. De letter E of e komt te staan tussen het getal en de exponent. Het aantal placeholders voor cijfers rechts van het symbool bepaald 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.

Het scheidingsteken voor duizendtallen wordt getoond als in de format code het scheidingsteken wordt omgeven door placeholders voor cijfers (0 or #).

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.

- + $ ( ) space: Een plus (+), minus (-), dollar ($), spatie of haakjes in de format code worden getoond als tekst.

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 aan dat het volgende teken in de format code dat teken zelf is en geen teken met een speciale betekenis voor de opmaak.

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 (@, &, <, >, !).

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.

Voorgedefinieerde opmaak

Getallen: Getallen worden getoond zoals ingevoerd.

Valuta: Er wordt een dollarteken vóór het getal geplaatst en negatieve getallen worden tussen ronde haakjes gezet.

Vast: Tenminste één cijfer wordt getoond vóór het decimale scheidingsteken.

Standaard: Toont getallen met een scheidingsteken voor duizendtallen.

Percent: Het getal wordt vermenigvuldigd met 100 en een procentteken wordt achter het getal geplaatst.

Wetenschappelijk: Toont getallen in wetenschappelijke opmaak (bijv., 1,00E+03 voor 1000).

Een format code kan in drie delen worden verdeeld met puntkomma's. Er dan dan een andere opmaak gegeven worden voor respectievelijk positieve waarde, negatieve waarden en de waarde nul. Als er maar een deel wordt ingevuld in de format code, dan is dat van toepassing op 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.

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.
End Sub

Help ons, alstublieft!