Funkcja Format

Przekształca liczbę na ciąg, a następnie formatuje go zgodnie z określonym wzorcem.

Składnia:

Format (liczba [, format As String])

Zwracana wartość:

Ciąg

Parametry:

Liczba: Wyrażenie numeryczne, które należy przekształcić na sformatowany ciąg.

Format: Ciąg określający kod formatu liczby. W przypadku braku parametru format funkcja Format działa identycznie z funkcją Str.

Kody formatowania

Poniżej przedstawiono kody używane do formatowania liczb:

0: Jeśli na pozycji cyfry 0 w kodzie formatu liczba posiada cyfrę, cyfra ta jest wyświetlana, w przeciwnym wypadku jest wyświetlana cyfra zero.

Jeśli liczba posiada mniej cyfr niż liczba zer w formacie kodu (przed lub po przecinku), wyświetlane są zera wiodące lub końcowe. Jeśli liczba posiada więcej cyfr przed przecinkiem niż liczba zer w kodzie formatu, dodatkowe cyfry są wyświetlane bez formatowania.

Miejsca dziesiętne w liczbie są zaokrąglane zgodnie z liczbą zer po przecinku w kodzie formatu.

#: Jeśli liczba posiada cyfrę na pozycji symbolu zastępczego # w kodzie formatu, cyfra ta jest wyświetlana, w przeciwnym wypadku w tej pozycji nie jest wyświetlany żaden znak.

Symbol ten działa podobnie jak cyfra 0, jednakże gdy kod formatu zawiera więcej znaków # niż liczba ma cyfr, nie są wyświetlane zera wiodące lub końcowe. Wyświetlane są tylko odpowiednie cyfry liczby.

.: Symbol zastępczy przecinka dziesiętnego określa liczbę miejsc przed i po przecinku.

Jeśli kod formatu przed tym znakiem zawiera wyłącznie symbole #, liczby mniejsze od 1 zaczynają się od przecinka dziesiętnego. Aby w przypadku liczb ułamkowych zawsze wyświetlać zero wiodące, jako symbolu zastępczego na pierwszej pozycji na lewo od przecinka dziesiętnego należy użyć cyfry 0.

%: Mnoży liczbę razy 100 i wstawia znak procenta (%) w miejscu, gdzie w kodzie formatu występuje liczba.

E- E+ e- e+ : Jeśli kod formatu zawiera co najmniej jeden symbol zastępczy cyfry (0 lub #) po prawej stronie symbolu E-, E+, e- lub e+, liczba jest wyświetlana w formacie naukowym lub wykładniczym. Pomiędzy liczbą i wykładnikiem jest umieszczona litera E lub e. Liczba symboli zastępczych cyfr po prawej stronie tego symbolu określa liczbę cyfr wykładnika.

W przypadku zastosowania symboli E-, E+, e-, e+, jeśli wykładnik jest ujemny, bezpośrednio przez wykładnikiem jest wyświetlany znak minus. Jeśli wykładnik jest dodatni, znak plus jest wyświetlany przez wykładnikiem tylko w przypadku zastosowania symboli E+ lub e+.

Separator tysięcy jest wyświetlany pod warunkiem umieszczenia go w kodzie formatu pomiędzy symbolami zastępczymi cyfr (0 lub #).

Użycie kropki jako separatora tysięcy i przecinka dziesiętnego zależy od ustawień regionalnych. W przypadku wprowadzania liczb bezpośrednio w kodzie źródłowym Basic jako separatora dziesiętnego należy zawsze używać kropki. Rzeczywisty znak wyświetlany jako separator dziesiętny zależy od formatu liczb w ustawieniach systemowych.

- + $ ( ) spacja: Plus (+), minus (-), znak dolara ($), spacja lub nawiasy wprowadzone bezpośrednio w kodzie formatu są wyświetlane jako znak literału.

Aby wyświetlić znaki inne niż wymienione powyżej, należy poprzedzić je odwróconą kreską ukośną (\) lub umieścić w cudzysłowie (" ").

\ : Odwrócona kreska ukośna powoduje wyświetlenie następnego znaku w kodzie formatu.

Znaki w kodzie formatu o znaczeniu specjalnym mogą być wyświetlone jako znaki literału pod warunkiem poprzedzenia ich odwróconą kreską ukośną. Odwrócona kreska ukośna nie jest wyświetlana. Aby ją wyświetlić, należy w kodzie formatu wpisać ją dwukrotnie (\\).

Znaki wymagające poprzedzenia ich odwróconą kreską ukośną w kodzie formatu to: literały znaków formatowania daty i godziny (a, c, d, h, m, n, p, q, s, t, w, y, /, :), znaki formatowania liczb (#, 0, %, E, e, przecinek, kropka) oraz znaki formatowania ciągów (@, &, <, >, !).

Istnieje także możliwość używania wstępnie zdefiniowanych formatów liczb. Z wyjątkiem formatu "Liczba ogólna" wszystkie wstępnie zdefiniowane kody formatów zwracają liczbę w postaci dziesiętnej z dwoma miejscami dziesiętnymi.

W przypadku korzystania ze wstępnie zdefiniowanych formatów nazwa formatu musi zostać ujęta w cudzysłów.

Wstępnie zdefiniowany format

General Number: Liczby są wyświetlane tak, jak zostały wprowadzone.

Waluta: Wstawia znak dolara przed liczbą i umieszcza liczby ujemne w nawiasach.

Fixed: Wyświetla co najmniej jedną cyfrę przed separatorem dziesiętnym.

Standardowy: Wyświetla liczby z separatorem tysięcy.

Percent: Mnoży liczbę razy 100 i dołącza do niej znak procenta.

Naukowy: Wyświetla liczby w formacie naukowym (na przykład liczba 1000 jest wyświetlana w postaci 1,00E+03).

Kod formatu może być podzielony na trzy części oddzielone średnikami. Pierwsza część definiuje format w przypadku liczb dodatnich, druga w przypadku liczb ujemnych, a trzecia w przypadku zera. Jeśli zostanie określony tylko jeden kod formatu, jest on stosowany do wszystkich liczb.

Ustawienia regionalne dotyczące formatowania liczb, dat i walut w programie LibreOffice Basic można zmienić w następującej ścieżce: – Ustawienia językowe – Języki. W kodach formatowania Basic kropka dziesiętna (.) jest zawsze używana jako symbol zastępczy separatora dziesiętnego zdefiniowanego w ustawieniach regionalnych i będzie zastępowana przez odpowiadający jej znak.

To samo dotyczy regionalnych ustawień formatu daty, godziny i waluty. Kod formatowania Basic jest interpretowany i wyświetlany zgodnie z ustawieniami regionalnymi.

Kody błędów:

5 Nieprawidłowe wywołanie procedury

Przykład:

Sub ExampleFormat

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

    ' w przypadku wprowadzania liczb w kodzie źródłowym Basic, jako separatora dziesiętnego należy zawsze używać kropki.

    ' w przypadku angielskich ustawień regionalnych niniejszy przykład powoduje wyświetlenie liczby 6,328.20, natomiast w przypadku niemieckich ustawień regionalnych 6.328,20.

End Sub