Κάθε συνάρτηση μετατρέπει ένα παράσταση σε μια συγκεκριμένη τύπος δεδομένων.
Σύνταξη
CBool( παράσταση )
CByte( παράσταση )
CCur( παράσταση )
CDate( παράσταση )
CDbl( παράσταση )
CDec( παράσταση )
CInt( παράσταση )
CLng( παράσταση )
CSng( παράσταση )
CStr( παράσταση )
CVar( παράσταση )
Η απαιτούμενη παράστασηόρισμα είναι οποιαδήποτε παράσταση συμβολοσειράς ή αριθμητική παράσταση.
Τύποι επιστροφής
Το όνομα της συνάρτησης καθορίζει τον τύπο επιστροφής, όπως φαίνεται στα εξής:
Συνάρτηση |
Τύπος επιστροφής |
Περιοχή για το όρισμα παράσταση |
---|---|---|
CBool |
δυαδική τιμή |
Οποιαδήποτε έγκυρη συμβολοσειρά ή αριθμητική παράσταση. |
CByte |
Byte |
0 έως 255. |
CCur |
Νομισματική μονάδα |
-922.337.203.685.477,5808 έως 922.337.203.685.477,5807. |
CDate |
Ημερομηνία |
Οποιαδήποτε έγκυρη παράσταση ημερομηνίας. |
CDbl |
Double |
-1.79769313486231E308 to -4,94065645841247E-324 για αρνητικές τιμές, 4,94065645841247E-324 έως 1,79769313486232E308 για θετικές τιμές. |
CDec |
Δεκαδικός |
+/-79.228.162.514.264.337.593.543.950.335 για αριθμούς μηδενικής κλίμακας, δηλαδή αριθμούς χωρίς δεκαδικά ψηφία. Για αριθμούς με 28 δεκαδικά ψηφία, η περιοχή είναι +/-7.9228162514264337593543950335. Ο μικρότερος δυνατός, μη μηδενικός αριθμός είναι 0,0000000000000000000000000001. |
CInt |
Ακέραιος |
-32.768 έως 32.767· τα κλάσματα στρογγυλοποιούνται. |
CLng |
Μεγάλη |
-2.147.483.648 έως 2.147.483.647· τα κλάσματα στρογγυλοποιούνται. |
CSng |
Single |
-3,402823E38 έως -1,401298E-45 για αρνητικές τιμές, 1,401298E-45 έως 3,402823E38 για θετικές τιμές. |
CStr |
Συμβολοσειρά |
Οι επιστροφές για τη συνάρτηση CStr εξαρτώνται από το όρισμα παράσταση . |
CVar |
Παραλλαγή |
Ίδιο εύρος με τον τύπο Διπλής ακρίβειας για αριθμητικές τιμές. Ίδιο εύρος με τον τύπο Συμβολοσειρά για μη αριθμητικές τιμές. |
Παρατηρήσεις
Εάν η παράσταση που μεταβιβάζεται στη συνάρτηση είναι εκτός της περιοχής του τύπου δεδομένων στον οποίο μετατρέπεται, προκύπτει σφάλμα.
Γενικά, μπορείτε να τεκμηριώσετε τον κωδικά σας χρησιμοποιώντας τις συναρτήσεις μετατροπής τύπου δεδομένων για να δείξετε ότι το αποτέλεσμα κάποιας λειτουργίας πρέπει να εκφράζεται ως συγκεκριμένος τύπος δεδομένων και όχι ως προεπιλεγμένος τύπος δεδομένων. Για παράδειγμα, χρησιμοποιήστε τη συνάρτηση CCur για να επιβάλετε αριθμητική νομισματική μονάδα σε περιπτώσεις όπου συνέβαινε κανονική αριθμητική μονής ακρίβειας, διπλής ακρίβειας ή ακέραιος αριθμός.
Θα πρέπει να χρησιμοποιήσετε τις συναρτήσεις μετατροπής τύπου δεδομένων αντί του Val για να παρέχετε μετατροπές με διεθνή επίγνωση από έναν τύπο δεδομένων σε έναν άλλο. Για παράδειγμα, όταν χρησιμοποιείτε το CCur, διαφορετικά διαχωριστικά δεκαδικών, διαφορετικά διαχωριστικά χιλιάδων και διάφορες επιλογές νομισματικής μονάδας αναγνωρίζονται σωστά, ανάλογα με τις τοπικές ρυθμίσεις του υπολογιστή σας.
Όταν το κλασματικό μέρος είναι ακριβώς 0,5, οι CInt και CLng το στρογγυλοποιούν πάντα στον πλησιέστερο άρτιο αριθμό. Για παράδειγμα, ο 0,5 στρογγυλοποιεί τον αριθμό στο 0 και ο 1,5 στρογγυλοποιεί τον αριθμό στο 2. Οι συναρτήσεις CInt και CLng διαφέρουν από τις συναρτήσεις Fix και Int, οι οποίες περικόπτουν και όχι στρογγυλοποιούν το κλασματικό μέρος ενός αριθμού. Επίσης, οι συναρτήσεων Fix και Int επιστρέφουν πάντα μια τιμή του ίδιου τύπου με αυτήν που μεταβιβάζεται.
Χρησιμοποιήστε τη συνάρτηση IsDate για να προσδιορίσετε εάν η ημερομηνία μπορεί να μετατραπεί σε ημερομηνία ή ώρα. Το CDate αναγνωρίζει τις λεκτικές λεκτικές και χρονικές λεκτικές σταθερά της ημερομηνίας, καθώς και ορισμένους αριθμούς που εμπίπτουν στο εύρος των αποδεκτών ημερομηνιών. Κατά τη μετατροπή ενός αριθμού σε ημερομηνία, ολόκληρο το τμήμα του αριθμού μετατρέπεται σε ημερομηνία. Οποιοδήποτε κλασματικό τμήμα του αριθμού μετατρέπεται σε ώρα ημέρας, ξεκινώντας από τα μεσάνυχτα.
Το CDate αναγνωρίζει τις μορφές ημερομηνίας σύμφωνα με τη ρύθμιση τοπικές ρυθμίσεις του συστήματός σας. Η σωστή σειρά των ρυθμίσεων ημέρας, μήνα και έτους ενδέχεται να μην καθορίζεται εάν παρέχεται σε μορφή διαφορετική από μία από τις αναγνωρισμένες ρυθμίσεις ημερομηνίας. Επιπλέον, η μορφή πλήρους ημερομηνίας δεν αναγνωρίζεται εάν περιέχει επίσης τη συμβολοσειρά ημέρας της εβδομάδας.
Παρέχεται επίσης μια συνάρτηση CVDate για λόγους συμβατότητας με προηγούμενες εκδόσεις της Visual Basic. Η σύνταξη της συνάρτησης CVDate είναι ίδια με τη συνάρτηση CDate , ωστόσο, η συνάρτηση CVDate επιστρέφει μια Μεταβλητή της οποίας ο δευτερεύων τύπος είναι Ημερομηνία αντί για έναν πραγματικό τύπο Ημερομηνία . Δεδομένου ότι υπάρχει τώρα ένας εγγενής τύπος ημερομηνίας , δεν υπάρχει περαιτέρω ανάγκη για CVDate. Το ίδιο αποτέλεσμα μπορεί να επιτευχθεί με τη μετατροπή μιας παράστασης σε ημερομηνία και, στη συνέχεια, την αντιστοιχίσετε σε μια Μεταβλητή. Αυτή η τεχνική είναι συνεπής με τη μετατροπή όλων των άλλων εγγενών τύπων στους αντίστοιχους δευτερεύοντες τύπους Μεταβλητής .
Σημείωση: Η συνάρτηση CDec δεν επιστρέφει διακριτό τύπο δεδομένων. Αντίθετα, επιστρέφει πάντα μια Μεταβλητή της οποίας η τιμή έχει μετατραπεί σε δευτερεύοντα τύπο "Δεκαδικός ".
Παραδείγματα ερωτημάτων
Expression |
Αποτελέσματα |
---|---|
SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales; |
Επιστρέφει "Τιμή_πώλησης", "Τελική_τιμή" και αξιολογεί εάν η τιμή "Τιμή_πώλησης" είναι μεγαλύτερη από την Τελική τιμή. Επιστρέφει "-1" εάν είναι αληθές και "0" εάν είναι false. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Επιστρέφει "Κωδ_Προϊόντος",μετατρέπει τις τιμές του πεδίου "Ποσότητα" σε μορφή byte και εμφανίζεται στη στήλη Παράστ1 Επιστρέφει "Κωδ_Προϊόντος", μετατρέπει τις τιμές του πεδίου "Ποσότητα" σε μορφή νομισματικής μονάδας και εμφανίζεται στη στήλη Παράστ1. |
SELECT ProductID, CDate(DateofSale) AS Παράσταση1 FROM πωλήσεις προϊόντων; |
Επιστρέφει "Κωδ_Προϊόντος", μετατρέπει τις τιμές του πεδίου "DateofSale" σε μορφή ημερομηνίας και εμφανίζεται στη στήλη Παράστ1. |
SELECT ProductID, CDbl(Discount) AS Παράσταση1 FROM πωλήσεις προϊόντων; |
Επιστρέφει την τιμή "Κωδ_Προϊόντος",μετατρέπει τις τιμές του πεδίου "Έκπτωση" σε Διπλή μορφή και εμφανίζεται στη στήλη Παράστ1. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Επιστρέφει "Κωδ_Προϊόντος",μετατρέπει τις τιμές του πεδίου "Έκπτωση" σε μορφή Ακέραιου και εμφανίζεται στη στήλη Παράστ1. |
SELECT ProductID, CLng(Discount) AS Παράσταση1 FROM productSales; |
Επιστρέφει "Κωδ_Προϊόντος",μετατρέπει τις τιμές του πεδίου "Έκπτωση" σε μορφή μεγάλου μήκους και εμφανίζεται στη στήλη Παράστ1. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Επιστρέφει "Κωδ_Προϊόντος",μετατρέπει τις τιμές του πεδίου "Έκπτωση" σε Ενιαία μορφή και εμφανίζεται στη στήλη Παράστ1. |
SELECT ProductID, CStr(Discount) AS Παράσταση1 FROM πωλήσεις προϊόντων; |
Επιστρέφει "Κωδ_Προϊόντος",μετατρέπει τις τιμές του πεδίου "Έκπτωση" σε μορφή συμβολοσειράς και εμφανίζεται στη στήλη Παράστ1. |
SELECT ProductID, CVar(Discount) AS Παράστ1 FROM productSales; |
Επιστρέφει "Κωδ_Προϊόντος",μετατρέπει τις τιμές του πεδίου "Έκπτωση" σε Διπλής ακρίβειας για αριθμητικές τιμές και συμβολοσειρά για μη αριθμητικές τιμές. |
Παραδείγματα VBA
Σημείωση: Παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, ανατρέξτε στο θέμα Αναφορά VBA της Access.
Συνάρτηση CBool
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CBool για να μετατρέψει μια παράσταση σε δυαδική τιμή. Εάν η παράσταση είναι μη μηδενική τιμή, η συνάρτηση CBool επιστρέφει true. διαφορετικά, επιστρέφει την τιμή False.
Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.
Συνάρτηση CByte
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CByte για τη μετατροπή μιας παράστασης σε Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Συνάρτηση CCur
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CCur για να μετατρέψει μια παράσταση σε νομισματική μονάδα.
Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2)
' Convert result of MyDouble * 2 (1086.429176) to a
' Currency (1086.4292).
Συνάρτηση CDate
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CDate για να μετατρέψει μια συμβολοσειρά σε ημερομηνία. Γενικά, δεν συνιστάται η κωδικοποίηση ημερομηνιών και ωρών ως συμβολοσειρών (όπως φαίνεται σε αυτό το παράδειγμα). Χρησιμοποιήστε λεκτικές λεκτικές σταθερά ημερομηνίας και λεκτικές λεκτικές σταθερά ώρας, όπως #12/2/1969# και #4:45:23 μμ#, αντί για αυτό.
Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' Convert to Date data type.
MyShortTime = CDate(MyTime)
Συνάρτηση CDbl
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CDbl για να μετατρέψει μια παράσταση σε διπλής ακρίβειας.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Συνάρτηση CDec
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CDec για να μετατρέψει μια αριθμητική τιμή σε δεκαδική.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Συνάρτηση CInt
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CInt για να μετατρέψει μια τιμή σε ακέραιο.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Συνάρτηση CLng
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CLng για να μετατρέψει μια τιμή σε "Μεγάλο".
Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)
' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2)
' MyLong2 contains 25428.
Συνάρτηση CSng
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CSng για να μετατρέψει μια τιμή σε Μία.
Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2)
' MySingle2 contains 75.34216.
Συνάρτηση CStr
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CStr για να μετατρέψει μια αριθμητική τιμή σε συμβολοσειρά.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Συνάρτηση CVar
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CVar για να μετατρέψει μια παράσταση σε Μεταβλητή.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.