
Η Μονάδα Λειτουργίας STR_FORMAT επιστρέφει μια μορφοποιημένη αλυσίδα χαρακτήρων.
Αυτή η Μονάδα Λειτουργίας αντιστοιχεί στη συνάρτηση sprintf στο C++.
Σημείωση: Αυτή η Μονάδα Λειτουργίας μπορεί να έχει περισσότερες από δύο εισόδους. Μπορείτε να κάνετε δεξί κλικ στον λειτουργικό μπλοκ για να προσθέσετε μια άλλη είσοδο.
Η είσοδος ορίζει τη μορφοποίηση. Αυτή αποτελείται από μηδέν ή περισσότερες εντολές: κανονικοί χαρακτήρες (εκτός από %), που αντιγράφονται απευθείας στο αποτέλεσμα και εντολές μετατροπής, οι οποίες αναζητούν κάθε μία τους δικούς της παραμέτρους.
Στην περίπτωση αυτή η εντολή μετατροπής ακολουθεί τον ακόλουθο πρωτότυπο:
%[ArgNum$][Flags][Weite][.Präzision]Spezifizierer.
Ένας ακέραιος αριθμός ακολουθούμενος από ένα σύμβολο δολαρίου $, που δηλώνει τον αριθμό της εισόδου STR# που θα χρησιμοποιηθεί για τη μετατροπή.
| Flag | Περιγραφή |
|---|---|
| - | Αριστερόστρωμμο εντός της ορισμένης πλάτους πεδίου. Η δεξιά στροφή είναι η προεπιλογή. |
| + | Θετικοί αριθμοί με ένα σύμβολο +. Προκαθορισμένα, μόνο οι αρνητικοί αριθμοί εκτυπώνονται με αρνητικά πρόσημα. |
| (Κενό) | Γεμίζει το αποτέλεσμα με κενά. Αυτό είναι η προεπιλογή. |
| 0 | Γεμίζει προς τα αριστερά με μηδέν. Με τον ειδικό τύπο s μπορεί να γεμίσει και προς τα δεξιά με μηδέν. |
| '(Χαρακτήρας) | Γεμίζει το αποτέλεσμα με τον καθορισμένο χαρακτήρα. |
Ένας ακέραιος αριθμός που δηλώνει πόσα χαρακτήρες (ελάχιστο) πρέπει να έχει το αποτέλεσμα της μετατροπής.
Η σημασία ενός σημείου . ακολουθούμενου από έναν ακέραιο αριθμό εξαρτάται από τον ειδικό τύπο:
Σημείωση: Αν το σημείο δίνεται χωρίς μια εξακριβωμένη τιμή για την ακρίβεια, υποθέτουμε 0.
| Spezifizierer | Περιγραφή |
|---|---|
| % | Ένα σύμβολο ποσοστού. Δεν απαιτείται παράμετρος. |
| b | Ο παραμέτρος αντιμετωπίζεται ως ακέραιος αριθμός και εκτυπώνεται ως δυαδικός αριθμός. |
| c | Ο παραμέτρος αντιμετωπίζεται ως ακέραιος αριθμός και εκτυπώνεται ως χαρακτήρας από το σύνολο ASCII. |
| d | Ο παραμέτρος αντιμετωπίζεται ως ακέραιος αριθμός και εκτυπώνεται ως (υπογεγραμμένος) δεκαδικός αριθμός. |
| e | Ο παραμέτρος αντιμετωπίζεται ως αριθμός σε επιστημονική μορφή (π.χ. 1.2e+2). Η ένδειξη της ακρίβειας αναφέρεται στον αριθμό των χαρακτήρων μετά το δεκαδικό σημείο. |
| E | Όπως ο ειδικός τύπος e, αλλά γράφει ένα κεφαλαίο γράμμα (π.χ. 1.2E+2). |
| f | Ο παραμέτρος αντιμετωπίζεται ως αριθμός με κλάσμα και εκτυπώνεται ως αριθμός με κλάσμα (εξαρτάται από τη τοπική περιοχή). |
| F | Ο παραμέτρος αντιμετωπίζεται ως αριθμός με κλάσμα και εκτυπώνεται ως αριθμός με κλάσμα (ανεξάρτητα από τη τοπική περιοχή). |
| g | Γενικός τύπος. Ας είναι P η ακρίβεια, αν δεν είναι μηδέν, 6 αν η ακρίβεια δεν έχει οριστεί ή 1 αν η ακρίβεια είναι μηδέν. Τότε, αν μια μετατροπή με E θα είχε ένα εκθέτη X: Αν P > X ≥ −4, η μετατροπή γίνεται με τον ειδικό τύπο f και ακρίβεια P - (X + 1). Διαφορετικά, όπως με τον ειδικό τύπο e και ακρίβεια P - 1. |
| G | Όπως ο ειδικός τύπος g, αλλά χρησιμοποιεί E και F. |
| o | Ο παραμέτρος αντιμετωπίζεται ως ακέραιος αριθμός και εκτυπώνεται ως οκταδικός αριθμός. |
| s | Ο παραμέτρος αντιμετωπίζεται ως αλυσίδα χαρακτήρων και εκτυπώνεται. |
| u | Ο παραμέτρος αντιμετωπίζεται ως ακέραιος αριθμός και εκτυπώνεται ως μη υπογεγραμμένος δεκαδικός αριθμός. |
| x | Ο παραμέτρος αντιμετωπίζεται ως ακέραιος αριθμός και εκτυπώνεται ως εξαδικός αριθμός (με πεζά γράμματα). |
| X | Ο παραμέτρος αντιμετωπίζεται ως ακέραιος αριθμός και εκτυπώνεται ως εξαδικός αριθμός (με κεφαλαία γράμματα). |
Προσοχή: Ο ειδικός τύπος c αγνοεί την πλήρωση και το πλάτος.
Προειδοποίηση: Η προσπάθεια χρήσης της συνδυασμένης χρήσης αλυσίδων χαρακτήρων με ορισμό πλάτους και χαρακτήρων που περιμένουν περισσότερο από ένα byte ανά χαρακτήρα οδηγεί σε απρόβλεπτες συνέπειες.
Οι μεταβλητές μετατρέπονται σε τύπο κατάλληλο για τον ειδικό τύπο:
| Τύπος | Spezifizierer |
|---|---|
| Αλυσίδα χαρακτήρων | s |
| Integer | d, u, c, o, x, X, b |
| Float | g, G, e, E, f, F |
Η είσοδος ή οι πολλές εισόδους ορίζουν την αντίστοιχη τιμή που θα αντικατασταθεί στην καθορισμένη αλυσίδα χαρακτήρων στην είσοδο FORMAT.
Επιστρέφει την γεννημένη αλυσίδα χαρακτήρων.