Συνάρτηση Format

Μετατρέπει μια αριθμητική παράσταση σε συμβολοσειρά και, στη συνέχεια, τη μορφοποιεί σύμφωνα με τη μορφή που καθορίζετε.

Σύνταξη:


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

Παράμετροι:

expression (έκφραση): Αριθμητική έκφραση που θέλετε να μετατρέψετε σε μορφοποιημένη συμβολοσειρά.

format (μορφή): Συμβολοσειρά που καθορίζει τον κωδικό μορφής για τον αριθμό. Εάν η format παραλειφθεί, η συνάρτηση Format λειτουργεί όπως η συνάρτηση LibreOfficeDev Basic Str().

Επιστρεφόμενη τιμή:

Συμβολοσειρά κειμένου.

Κώδικες μορφοποίησης

Ένας κώδικας format (μορφή) μπορεί να χωριστεί σε τρεις ενότητες που χωρίζονται με ;. Το πρώτο μέρος ορίζει τη μορφή για τις θετικές τιμές, το δεύτερο μέρος για τις αρνητικές τιμές και το τρίτο μέρος για το μηδέν. Εάν καθορίσετε μόνο έναν κώδικα format (μορφής), ισχύει για όλους τους αριθμούς.

Μπορείτε να ορίσετε την τοπική ρύθμιση που χρησιμοποιείται για τον έλεγχο της μορφοποίησης αριθμών, ημερομηνιών και νομισμάτων στο LibreOfficeDev Basic στο - Γλώσσες και τοπικές ρυθμίσεις - Γενικά. Στους κωδικούς μορφής Basic, το σημείο υποδιαστολής (.) χρησιμοποιείται πάντα ως δεσμευτικό θέσης για το δεκαδικό διαχωριστικό που ορίζεται στις τοπικές ρυθμίσεις σας και θα αντικατασταθεί από τον αντίστοιχο χαρακτήρα.

Το ίδιο ισχύει και για τις τοπικές ρυθμίσεις για την μορφή της ημερομηνίας, ώρας και νομίσματος. Ο κώδικας μορφοποίησης της Basic θα ερμηνευθεί και θα εμφανισθεί σύμφωνα με τις τοπικές ρυθμίσεις σας.

Ο παρακάτω κατάλογος περιγράφει τους κωδικούς που μπορείτε να χρησιμοποιήσετε για τη μορφοποίηση μιας αριθμητικής παράστασης:

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.

Εάν η expression έχει λιγότερα ψηφία από τον αριθμό των μηδενικών στον κωδικό format, (και στις δύο πλευρές του δεκαδικού), εμφανίζονται μηδενικά στην αρχή ή στο τέλος. Εάν η expression έχει περισσότερα ψηφία στα αριστερά του δεκαδικού διαχωριστικού από το ποσό των μηδενικών στον κωδικό format, τα πρόσθετα ψηφία εμφανίζονται χωρίς μορφοποίηση.

Οι δεκαδικοί θέσεις στην expression στρογγυλοποιούνται σύμφωνα με τον αριθμό των μηδενικών που εμφανίζονται μετά το δεκαδικό διαχωριστικό στον κώδικα format.

#

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.

Αυτό το σύμβολο λειτουργεί όπως το 0, εκτός από το ότι τα μηδενικά στην αρχή ή στο τέλος δεν εμφανίζονται εάν υπάρχουν περισσότεροι # χαρακτήρες στον κωδικό format από ψηφία στην expression. Εμφανίζονται μόνο τα σχετικά ψηφία της expression.

. (period)

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

Εάν ο κωδικός format περιέχει μόνο # σύμβολα κράτησης θέσης στα αριστερά αυτού του συμβόλου, οι αριθμοί που είναι μικρότεροι από 1 ξεκινούν με δεκαδικό διαχωριστικό. Για να εμφανίζεται πάντα ένα μηδενικό στην αρχή με κλασματικούς αριθμούς, χρησιμοποιήστε το 0 ως σύμβολο κράτησης θέσης για το πρώτο ψηφίο στα αριστερά του δεκαδικού διαχωριστικού.

Η χρήση της τελείας ως διαχωριστικού χιλιάδων και υποδιαστολής εξαρτάται από τις τοπικές ρυθμίσεις του συστήματός σας. Όταν εισάγετε έναν αριθμό άμεσα στο πηγαίο κώδικα της Basic, χρησιμοποιείτε πάντα μια τελεία ως υποδιαστολή. Ο χαρακτήρας που εμφανίζεται στην πραγματικότητα ως υποδιαστολή εξαρτάται από την μορφή του αριθμού στις τοπικές σας ρυθμίσεις. Τα παραδείγματα που παρουσιάζονται εδώ υποθέτουν ότι οι τοπικές ρυθμίσεις είναι US (Η.Π.Α.).

%

%: Πολλαπλασιάζει την expressionεπί 100 και εισάγει το σύμβολο ποσοστού (%) όπου η expression εμφανίζεται στον κώδικα format.

E- E+ e- e+

E- E+ e- e+ : Εάν ο κώδικας format περιέχει τουλάχιστον ένα σύμβολο κράτησης θέσης ψηφίου (0 ή #) στα δεξιά του συμβόλου E-, E+, e-, ή e+, η expression (έκφραση) μορφοποιείται σε επιστημονική ή εκθετική μορφή. Το γράμμα E ή e παρεμβάλλεται μεταξύ του αριθμού και του εκθέτη. Ο αριθμός των δεσμευτικών θέσης για ψηφία στα δεξιά του συμβόλου καθορίζει τον αριθμό των ψηφίων στον εκθέτη.

Αν ο εκθέτης είναι αρνητικός, εμφανίζεται ένα αρνητικό πρόσημο μπροστά από έναν εκθέτη με E-, E+, e-, e+. Αν ο εκθέτης είναι θετικός, τότε εμφανίζεται θετικό πρόσημο μόνο μπροστά από εκθέτες με E+ ή e+.

- + $ ( ) space

- + $ ( ) space: (διάστημα) Ένα συν (+), μείον (-), δολάριο ($), κενό διάστημα ή αγκύλες που εισάγονται απευθείας στον κώδικα format (μορφή) εμφανίζονται ως ένας κυριολεκτικός χαρακτήρας.

\

Για την εμφάνιση χαρακτήρων που δεν αναφέρονται σε αυτή τη λίστα, θα πρέπει να προηγείται του χαρακτήρα μια ανάστροφη κάθετος (\), ή να περικλείεται σε αγγλικά εισαγωγικά (" ").

\ : Η ανάστροφη κάθετος εμφανίζει τον επόμενο χαρακτήρα στον κώδικα format (μορφή).

Οι χαρακτήρες στον κώδικα format (μορφή) που έχουν ειδική σημασία μπορούν να εμφανίζονται ως κυριολεκτικοί χαρακτήρες μόνο εάν προηγείται ανάστροφη κάθετος. Η ίδια η ανάστροφη κάθετος δεν εμφανίζεται, εκτός εάν εισαγάγετε διπλή κάθετο (\\) στον κώδικα μορφής.

Οι χαρακτήρες μπροστά από τους οποίους θα πρέπει να υπάρχει μια ανάστροφη κάθετος στον κώδικα μορφής ώστε να εμφανίζονται ως ρητοί χαρακτήρες είναι οι χαρακτήρες ημερομηνίας και χρόνου (a, c, d, h, m, n, p, q, s, t, w, y, /, :), οι χαρακτήρες αριθμητικής μορφοποίησης (#, 0, %, E, e, κόμμα, τελεία) και οι χαρακτήρες μορφοποίησης συμβολοσειράς (@, &, <, >, !).


Προκαθορισμένη μορφή

Μπορείτε επίσης να χρησιμοποιήσετε τις ακόλουθες προκαθορισμένες μορφές αριθμών. Εκτός από τον "General Number" (Γενικό αριθμό), όλοι οι προκαθορισμένοι κώδικες μορφής επιστρέφουν τον αριθμό ως δεκαδικό αριθμό με δύο δεκαδικά ψηφία.

Αν χρησιμοποιείτε προκαθορισμένες μορφές, το όνομα της μορφής θα πρέπει να περικλείεται σε αγγλικά εισαγωγικά.

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


Κωδικοί σφάλματος:

5 Άκυρη κλήση διαδικασίας

Παράδειγμα:


Sub ExampleFormat
    MsgBox Format(6328.2, "##,##0.00")
    ' πάντα χρησιμοποιήστε μια τελεία ως διαχωριστικό δεκαδικών ψηφίων όταν εισάγετε αριθμούς στο πηγαίο κώδικα Basic.
    ' εμφανίζει παραδείγματος χάριν 6,328.20 στα αγγλικά, 6.328,20 στα γερμανικά.
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