Funkcija Format

Pretvori številski izraz v niz in ga potem oblikuje v skladu z obliko, ki jo navedete.

Skladnja:


Format(izraz [, oblika As String]) As String

Parametri:

Izraz: numerični izraz, ki ga želite pretvoriti v oblikovan niz.

Oblika: Niz, ki določa kodo za oblikovanje števila. Če parametra oblika ne navedete, bo funkcija Format dala isti rezultat kot funkcija LibreOfficeDev Str().

Vrnjena vrednost:

Besedilni niz.

Kode za oblikovanje

Kodo za oblikovanje oblika je mogoče razdeliti v tri odseke, ki so med seboj ločeni z vejicami. Prvi del definira obliko za pozitivna števila, drugi del za negativna števila, tretji del pa za nič. Če navedete samo eno kodo za obliko oblika, se jo bo uporabilo za vsa števila.

Področne nastavitve, ki se uporabljajo za obliko števil, datumov in valute v LibreOfficeDev Basicu, lahko nastavite v – Jeziki in področne nastavitve – Splošno. V kodah zapisov Basica je decimalna pika (.) vedno uporabljena kot ograda za desetiško ločilo, določeno z vašo področno nastavitvijo in bo kasneje zamenjana z ustreznim znakom.

Enako velja za področne nastavitve oblike datuma, časa in valute. Oblika zapisa Basica bo prevedena in prikazana glede na vaše področne nastavitve.

Naslednji seznam navaja kode, ki jih lahko uporabljate za oblikovanje številskih izrazov:

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.

Če ima izraz manj mest, kot je ničel v kodi za oblikovanje oblika (na obeh straneh decimalne vejice), bo imel rezultat vodeče ali sledeče ničle. Če ima izraz na levi strani decimalnega ločila več mest, kot je ničel v kodi za oblikovanje oblika, bodo dodatne cifre izpisane neoblikovano.

Decimalna mesta v izrazu se zaokrožajo v skladu s številom ničel, ki se nahajajo za decimalnim ločilom v kodi oblika.

#

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.

Ta simbol deluje tako kot 0, samo da se vodečih ali sledečih ničel ne kaže, če je v kodi za oblikovanje oblika več znakov # kot pa mest v izrazu. Prikazana so samo pomembna mesta v izrazu.

. (period)

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

Če koda za oblikovanje oblika vsebuje samo znake # levo od tega simbola, se rezultat za števila, manjša od 1, začenja z decimalnim ločilom. Uporabite znak 0 za prvo mesto levo od decimalnega ločila, da bodo v tem primeru števila izpisana z vodilno ničlo.

Ali se pika uporablja kot ločilo za tisoče ali za decimalke, je odvisno od področne nastavitve. Kadar vnašate število neposredno v izvorno kodo za Basic, za decimalno ločilo vedno uporabljajte piko. Kateri znak se bo dejansko uporabil, je odvisno od numeričnega oblike v sistemskih nastavitvah.

%

%: pomnoži izraz s 100 in na mestu, kjer se izraz v kodi za oblikovanje oblika nahaja, vrine znak za odstotek (%).

E- E+ e- e+

E- E+ e- e+ : Če koda za oblikovanje oblika vsebuje najmanj en znak (0 or #) desno od simbola E-, E+, e-, or e+, se bo izraz izpisal v znanstveni ali eksponentni obliki. Med število in eksponent se vstavi črka E oziroma e. Število znakov za mesta desno od simbola določa, koliko znakov bo imel eksponent.

Če je eksponent negativen, se za E-, E+, e-, e+ znak minus izpiše neposredno pred eksponent. Če je eksponent pozitiven, se znak plus piše pred eksponente samo v primeru E+ or e+.

- + $ ( ) space

- + $ ( ) presledek: Znaki plus (+), minus (-), dolar ($), presledek ali oklepaji, ki so neposredno vneseni v oblikovni kodi oblika, se prikažejo dobesedno.

\

Če želite prikazati kake druge znake, jim morate predpisati poševnico (\), ali pa jih obdati z narekovaji (" ").

\ : poševnica izpiše naslednji znak v kodi za oblikovanje oblika.

Znake v kodi za oblikovanje oblika, ki imajo poseben pomen, je mogoče prikazati take kot so, samo če prednje zapišete poševnico. Poševnica se pri tem ne izpiše, razen če ne vpišete dvojno poševnico (\\) v kodo za oblikovanje.

Če želite dobeseden izpis, moramo postaviti poševnico pred znake za oblikovanje datuma in časa (a, c, d, h, m, n, p, q, s, t, w, y, /, :) , pred znake, s katerimi se oblikujejo števila (#, 0, %, E, e, vejica, pika), in pred znake za oblikovanje nizov (@, &, <, >, !).


Vnaprej določena oblika

Lahko uporabljate tudi naslednje vnaprej določene oblike za števila. Razen oblike »General Number« vse vrnejo vnaprej določene oblike število v obliki decimalnega števila z dvema decimalnima mestoma.

Če uporabljate vnaprej določene oblike, morate ime oblike postaviti v narekovaje.

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


Kode napak:

5 Neveljaven klic procedure

Primer:


Sub ExampleFormat
    MsgBox Format(6328.2, "##,##0.00")
    ' ko vnašate števila v izvorno kodo za Basic, uporabljajte vedno piko za decimalno ločilo.
    ' prikaže 6,328.20 pri angleških in 6.328,20 pri slovenskih področnih nastavitvah.
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