Функция Format

Преобразува числов израз в низ и го форматира по зададен от вас начин.

Синтаксис:


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

Параметри:

expression: числов израз, чиято стойност да се преобразува във форматиран низ.

format: низ, който указва кода на формат за числото. Ако параметърът format е пропуснат, функцията Format работи като функцията на LibreOffice Basic Str().

Тип на резултата:

Текстов низ.

Кодове за форматиране

В BASIC кодът format може да бъде разделен на три части с точки и запетаи. Първата част задава формата за положителни стойности, втората – за отрицателни и третата – за нули. Ако зададете само един код format , той важи за всякакви числа.

Локалът, използван за форматиране на числа, дати и парични суми в LibreOffice Basic, може да се задава в - Езици и локали - Общи. Във форматиращите кодове на Basic десетичната точка (.) винаги се използва като заместител за дробния разделител от локала и се замества автоматично със съответния знак.

Същото важи за настройките за формат на дата, час и валута от локала. Кодът на формат в Basic ще бъде интерпретиран и изписан според настройките на локала.

Следващият списък описва кодовете, които можете да използвате за форматиране на числов израз:

Код

Описание

0

Ако expression съдържа цифра в позицията на 0 в кода format, се показва цифрата, а в противен случай се показва нула.

Ако expression съдържа по-малко цифри от броя нули в кода format (в цялата и/или дробната част), се показват водещи или завършващи нули. Ако expression съдържа повече цифри в цялата си част, отколкото са нулите в кода format, допълнителните цифри се показват без форматиране.

Дробната част в expression се закръглява според броя нули вдясно от десетичния разделител в кода format.

#

Ако expression съдържа цифра в позицията на заместителя # в кода format, се показва цифрата, иначе в тази позиция не се показва нищо.

Този знак работи като 0, но ако знаците # в кода format са повече от цифрите в expression, не се показват водещи или завършващи нули. Изписват се само значещите цифри от expression.

. (period)

Десетичният разделител определя броя на цифрите в цялата и дробната част на форматираното число.

Ако кодът format съдържа само знаци # вляво от този символ, числата, по-малки от 1, започват с десетичен разделител. За да се показва винаги 0 в началото на дробни числа, използвайте 0 като запазено място за първата цифра вляво от десетичния разделител.

Употребата на точка като разделител на хилядите или на дробната част зависи от регионалните настройки. Когато въвеждате число направо в кода на Basic, винаги използвайте точка за разделител на дробната част. Знакът, който се показва на екрана като десетичен разделител, зависи от формата за числа в системните настройки.

%

Умножава expression по 100 и вмъква знак за процент (%) там, където expression се намира в кода format.

E- E+ e- e+

Ако кодът format съдържа поне един заместител за цифра (0 или #) вдясно от символа E-, E+, e- или e+, expression се форматира в експоненциален запис. Буквата E или e се вмъква между числото и експонентата. Броят заместващи знаци за цифри вдясно от символа определя броя на цифрите в експонентата.

Ако експонентата е отрицателна, точно преди нея се показва минус при E-, E+, e- и e+. Ако експонентата е положителна, при нея се показва знак плюс само при E+ или e+.

- + $ ( ) space

Плюс (+), минус (-), долар ($), интервал или скоби, пряко включени в кода format, се показват точно както са въведени.

\

За да включите други знаци освен изброените, трябва да поставите пред тях обратна наклонена черта (\) или да ги оградите с кавички (" ").

Обратно наклонената черта предизвиква показване на следващия знак от кода format.

Знаците в кода format, които имат специално значение, могат да се показват буквално само ако са предшествани от обратна наклонена черта. Самата тя не се показва, освен ако я въведете два пъти във форматиращия код (\\).

Знаците, пред които трябва да има обратно наклонена черта във форматиращия код, за да се покажат буквално, са тези за форматиране на дати и часове (a, c, d, h, m, n, p, q, s, t, w, y, /, :), за форматиране на числа (#, 0, %, E, e, запетая, точка) и за форматиране на низове (@, &, <, >, !).


Предварително дефинирани формати

Можете да използвате и изброените по-долу предварително дефинирани числови формати. С изключение на „General Number“ всички те връщат десетично число с две дробни позиции.

Ако използвате предварително дефинирани формати, името на формата трябва да е оградено в кавички.

Код

Описание

"<"

Преобразува expression в малки букви.

">"

Преобразува expression в главни букви.

"c" or "General Date"

Връща стойността на числовия израз expression в къс формат за дата, по желание с "H:MM:SS AM/PM". Ако expression е низ, връща низа.

"n"

Връща минутата от числовия израз с 1 или 2 цифри.

"nn"

Връща минутата от числовия израз с две цифри.

"w"

Връща деня от седмицата от числовия израз. 1 означава неделя, а 7 – събота.

"General Number"

Връща стойността на числовия израз expression с 12 цифри (0.############).

"Currency"

Връща стойността на числовия израз expression във валутата на локала.

"Fixed"

Връща стойността на числовия израз expression с 2 дробни позиции (0.00).

"Standard"

Връща стойността на числовия израз expression с разделители на хилядите и 2 дробни позиции (@0.00).

"Percent"

Връща стойността на числовия израз expression като проценти (0.00%).

"Scientific"

Връща стойността на числовия израз expression в експоненциален запис (#.00E+00).

"Yes/No"

Връща „Да“, ако числовата стойност на израза expression е различна от нула, и „Не“ в противен случай. „Да“ и „Не“ са локализирани.

"True/False"

Връща „Вярно“, ако числовата стойност на израза expression е различна от нула, и „Невярно“ в противен случай. „Вярно“ и „Невярно“ са локализирани.

"On/Off"

Връща „Вкл.“, ако числовата стойност на израза expression е различна от нула, и „Изкл.“ в противен случай. „Вкл.“ и „Изкл.“ са локализирани.

"Long Date" or "dddddd"

Връща стойността на числовия израз expression в системния дълъг формат за дата, зависи от локала.

"Medium Date"

Връща стойността на числовия израз expression във формат за дата DD-MMM-YY, зависи от локала.

"Short Date" or "ddddd"

Връща стойността на числовия израз expression в системния къс формат за дата, зависи от локала.

"Long Time" or "ttttt"

Връща стойността на числовия израз expression в системния дълъг формат за час, зависи от локала ("H:MM:SS AM/PM").

"Medium Time"

Връща стойността на числовия израз expression в системния среден формат за час, зависи от локала ("HH:MM AM/PM").

"Short Time"

Връща стойността на числовия израз expression в системния къс формат за час, зависи от локала (HH:MM).


Кодове за грешка:

5 Невалидно извикване на процедура

Пример:


Sub ExampleFormat
    MsgBox Format(6328.2, "##,##0.00")
    ' В изходен код на Basic винаги използвайте точка за отделяне на дробната част на число.
    ' В английски локал показва 6,328.20, в немски – 6.328,20.
msgbox Format("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", "<") ' връща abcdefghijklmnopqrstuvwxyz1234567890, цифрите не се повлияват.
msgbox Format("abcdefghijklmnopqrstuvwxyz1234567890", ">") ' returns ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, цифрите не се повлияват.
msgBox Format(12345.6,"c") ' връща числото във формат за дата като 18/10/33 2:24:00 PM в германски локал.
msgBox Format(12345.6,"General Date") ' Същото като "c".
msgbox format(12345.004,"n") ' връща 5
msgbox format(12345.004,"nn") ' връща 05
msgbox format(12345.6,"w") ' връща 4 (сряда).
msgbox format(log(123),"General Number") ' връща 4,812184355372 в германски локал
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") ' връща локализирано „Да“.
msgbox format(0,"Yes/No") ' връща локализирано „Не“.
msgbox format(-1,"True/False") ' връща локализирано „Вярно“.
msgbox format(123,"On/Off") ' връща локализирано „Вкл.“
msgbox format(45756.73,"Long Date") ' връща сряда, 9 април 2025 г. във вашия локал.
End Sub
Моля, подкрепете ни!

Моля, подкрепете ни!