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