Οι διαφορετικές εφαρμογές απαιτούν συγκεκριμένες τιμές για να συμμορφώνονται με τα διαρθρωτικά παραδείγματα. Για παράδειγμα, οι αριθμοί κοινωνικής ασφάλισης είναι πάντα εννέα ψηφίων. Ορισμένες αναφορές απαιτούν την εμφάνιση αριθμών με σταθερό αριθμό χαρακτήρων. Οι αριθμοί ακολουθιών, για παράδειγμα, συνήθως ξεκινούν με 1 και αυξάνουν χωρίς τέλος, έτσι εμφανίζονται με μηδενικά πρότυπα για να παρουσιάσουν μια οπτική έκκληση.
Σαν Προγραμματιστής Delphi, η προσέγγισή σας για την προσθήκη ενός αριθμού με ηγετικά μηδενικά εξαρτάται από την ειδική περίπτωση χρήσης για αυτήν την τιμή. Μπορείτε απλά να επιλέξετε να τοποθετήσετε μια τιμή εμφάνισης ή μπορείτε να μετατρέψετε έναν αριθμό σε μια συμβολοσειρά για αποθήκευση σε μια βάση δεδομένων.
Μέθοδος εμφιάλωσης οθόνης
Χρησιμοποιήστε μια απλή λειτουργία για να αλλάξετε τον τρόπο εμφάνισης του αριθμού σας. Χρήση μορφή για να πραγματοποιήσετε τη μετατροπή παρέχοντας μια τιμή για μήκος (το συνολικό μήκος της τελικής εξόδου) και τον αριθμό που θέλετε να τοποθετήσετε:
str: = Μορφή ('%. * d, [μήκος, αριθμός])
Για να πληκτρολογήσετε τον αριθμό 7 με δύο ηγετικά μηδενικά, συνδέστε αυτές τις τιμές στον κώδικα:
str: = Μορφή ('%. * d, [3, 7]);
Το αποτέλεσμα είναι 007 με την τιμή να επιστρέφεται ως συμβολοσειρά.
Μετατροπή σε μέθοδο στοιχειοσειράς
Χρησιμοποιήστε μια λειτουργία padding για να προσθέσετε κορυφαία μηδενικά (ή οποιοδήποτε άλλο χαρακτήρα) κάθε φορά που το χρειάζεστε μέσα στο σενάριό σας. Για να μετατρέψετε τιμές που είναι ήδη ακέραιοι, χρησιμοποιήστε:
λειτουργία LeftPad (τιμή: ακέραιο; μήκος: ακέραιο = 8; pad: char = '0'): συμβολοσειρά. παραφορτώνω;
ξεκινήσει
αποτέλεσμα: = RightStr (StringOfChar (pad, μήκος) + IntToStr (τιμή), μήκος)?
τέλος;
Εάν η τιμή που πρόκειται να μετατραπεί είναι ήδη συμβολοσειρά, χρησιμοποιήστε:
λειτουργία LeftPad (τιμή: string; μήκος: ακέραιο = 8; pad: char = '0'): συμβολοσειρά. παραφορτώνω;
ξεκινήσει
αποτέλεσμα: = RightStr (StringOfChar (pad, μήκος) + τιμή, μήκος)?
τέλος;
Αυτή η προσέγγιση λειτουργεί με Δελφοί 6 και επόμενες εκδόσεις. Και οι δύο από αυτές τις μπλοκ κώδικα προεπιλογών σε ένα χαρακτήρα γεμίσματος του 0 με μήκος επτά επιστρεφόμενων χαρακτήρων. οι τιμές αυτές μπορούν να τροποποιηθούν για να καλύψουν τις ανάγκες σας.
Όταν ονομάζεται LeftPad, επιστρέφει τιμές σύμφωνα με το καθορισμένο πρότυπο. Για παράδειγμα, εάν ορίσετε μια τιμή ακέραιας στο 1234, καλώντας το LeftPad:
ί: = 1234;
r: = LeftPad (i).
θα επιστρέψει μια τιμή συμβολοσειράς 0001234.