Функція Format

Перетворює число на рядок і потім форматує його відповідно до зазначеного формату.

Синтаксис:

Format (Число [, Формат As String])

Значення, що повертається:

Рядок

Параметри:

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

Формат: рядок, що вказує код формату для даного числа. Якщо параметр Формат пропущено, то функція Format працює як функція Str.

Коди форматування

Нижче наведено коди, які можна використовувати для форматування числа:

0: якщо параметр Число має цифру в позиції 0 коду формату, відображається ця цифра; інакше відображається нуль.

Якщо вираз Число має менше цифр, ніж кількість нулів в коді формату (за будь-яку сторону від десяткового роздільника), відсутні розряди заповнюються нулями. Якщо число має більше цифр ліворуч від десяткового розділювача, ніж кількість нулів в коді формату, ці додаткові цифри відображаються без форматування.

Десяткові розряди числа заокруглюються до кількості нулів в коді Формат після десяткового роздільника.

#: якщо параметр Число містить цифру в позиції заповнювача # в коді Формат, то відображається ця цифра; в будь-якому іншому випадку в цій позиції нічого не відображається.

Цей символ працює як 0, за винятком того, що заповнювальні нулі зліва або справа не відображаються, коли в коді формату є більше символів #, ніж цифр в цьому числі. Відображаються тільки необхідні цифри в цьому числі.

.: Десятковий заповнювач визначає число десяткових розрядів зліва і справа від десяткового розділювача.

Якщо код формату містить лише заповнювачі # ліворуч від цього символу, то числа менші від 1 починаються з десяткового розділювача. Щоб завжди показувати початковий нуль з дробовими числами, використайте 0 як заповнювач для першої цифри ліворуч від десяткового розділювача.

%: число множиться на 100 і знак відсотка (%) вставляється у тій позиції, де число з'являється у коді формату.

E- E+ e- e+ : якщо код формату містить хоча б один заповнювач розряду (0 або #) праворуч від символу E-, E+, e- або e+, то таке число форматується у науковому або експоненціальному форматі. Буква Е або е вставляється між цим числом і експонентою. Кількість заповнювачів для розрядів праворуч від цього символу визначає кількість розрядів у експоненті.

Якщо експонента від'ємна, то знак мінус виводиться безпосередньо перед експонентою з E-, E+, e-, e+. Якщо ж експонента є додатною, то знак плюс виводиться лише перед експонентами з Е+ або е+.

Розділювач тисяч виводиться тоді, коли код формату містить розділювач, оточений заповнювачами розрядів (0 чи #).

Використання крапки як розділювача груп розрядів чи десяткового розділювача визначається параметрами регіональних стандартів операційної системи. При введенні числа безпосередньо у програмний код Basic завжди використовуйте в ролі десяткового розділювача крапку. Фактичний вигляд десяткового розділювача визначається форматом чисел, який заданий у системних параметрах.

- + $ ( ) пропуск: плюс (+), мінус (-), знак долара ($), пропуск чи дужки, уведені безпосередньо у код формату, виводяться як символи.

Щоб показати інші символи, необхідно поставити перед ними обернену косу риску (\) або взяти їх у лапки (" ").

\ : обернена коса риска показує наступний символ у коді формату.

Символи у коді формату, які мають спеціальне значення, можуть бути зображені як символи лише тоді, коли перед ними є зворотна коса риска. Сама зворотна коса риска не виводиться, коли у коді формату не введена подвійна зворотна коса риска (\\).

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

Можна також використовувати наступні вбудовані числові формати. За винятком "General Number", всі попередньо визначені коди формату повертають число як десяткове із двома десятковими розрядами.

Якщо використовуються наперед визначені формати, то їхні назви повинні бути укладені в лапки.

Наперед визначений формат

General Number: числа відображаються так, як вони введені.

Currency: після числа ставиться знак гривні, від'ємні числа беруться в дужки.

Fixed: принаймні один розряд показується перед десятковим розділювачем.

Standard: числа виводяться з розділювачами.

Percent: число множиться на 100 і до цього числа додається знак відсотків.

Scientific: числа виводяться у науковому форматі (наприклад, 1,00E+03 для числа 1000).

Код формату можна розділити на три частини, відокремлені крапкою з комою. Перша частина визначає формат для додатних значень, друга частина - для від'ємних, а третя частина - для нульових. Якщо задано лише один код формату, то він застосовується до всіх чисел.

Ви можете встановити локаль, яка буде використовуватися для керування форматуванням чисел, дат та валют в меню LibreOffice Basic - Параметри мови - Мови. У кодах формату Basic десяткова крапка (.) завжди використовується як заповнювач для десяткового розділювача, визначеного в національних налаштуваннях, та буде замінена відповідним символом.

Те ж саме стосується і параметрів мови для форматів дати, часу і валюти. Код формату Basic буде інтерпретуватися і відображатися у відповідності з національними установками.

Коди помилок:

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

Приклад:

Sub ExampleFormat

    MsgBox Format(6328.2, "##,##0.00")

    REM як розділювач розрядів завжди використовується крапка, якщо числа вводяться у вихідному коді Basic.

    ' виводить, наприклад, 6,328.20 для англійської мови, 6.328,20 для німецької мови.

End Sub