Λειτουργία VBA CDBL - Πώς να μετατρέψετε την τιμή σε διπλό τύπο δεδομένων;

Πίνακας περιεχομένων

Λειτουργία Excel VBA CDBL

Το VBA CDBL είναι μια ενσωματωμένη συνάρτηση μετατροπής τύπου δεδομένων και η χρήση αυτής της συνάρτησης είναι ότι μετατρέπει τον τύπο δεδομένων κάθε δεδομένης μεταβλητής σε έναν τύπο διπλού δεδομένων, αυτή η συνάρτηση παίρνει μόνο ένα όρισμα που είναι η ίδια η τιμή της μεταβλητής.

Στο VBA, το "CDBL" σημαίνει "Μετατροπή σε διπλό." Αυτή η συνάρτηση μετατρέπει τον δεδομένο αριθμό σε διπλό τύπο δεδομένων. Ρίξτε μια ματιά στη σύνταξη της συνάρτησης CDBL.

  • Η έκφραση είναι η τιμή που προσπαθούμε να μετατρέψουμε σε διπλό τύπο δεδομένων.

Οποιοσδήποτε αιωρούμενος αριθμός που αποθηκεύεται ως διαφορετικός από τον διπλό τύπο δεδομένων μπορεί να μετατραπεί εφαρμόζοντας τη λειτουργία CDBL.

Σημείο που πρέπει να θυμάστε εδώ: Μόνο αριθμητικές τιμές μπορούν να μετατραπούν σε διπλό τύπο δεδομένων. Οτιδήποτε άλλο εκτός από την αριθμητική τιμή δεν μπορεί να μετατραπεί σε διπλό τύπο, οπότε καταλήξτε να εμφανίζεται το "Type Mismatch Error in VBA" όπως παρακάτω.

Έχετε χρησιμοποιήσει ποτέ έναν διπλό τύπο δεδομένων στην κωδικοποίηση VBA;

Εάν όχι, αξίζει να το ρίξετε μια ματιά τώρα. Διπλό είναι ο τύπος δεδομένων που χρησιμοποιείται για την αποθήκευση της δεκαδικής θέσης του αριθμού. Μπορούμε να έχουμε έως και 13 κυμαινόμενους δεκαδικούς αριθμούς.

Για παράδειγμα, δείτε τον παρακάτω κώδικα VBA.

Στα παραπάνω, έχω ορίσει τον τύπο μεταβλητής (k) ως ακέραιο. Dim k ως ακέραιος

Στη συνέχεια, έχω εκχωρήσει την τιμή ως k = 25.4561248694615

Όταν εκτελώ τον κωδικό, θα έχουμε το αποτέλεσμα ως εξής.

Έχουμε το αποτέλεσμα ως 25 αφού έχουμε ορίσει τη μεταβλητή ως Integer VBA γύρο στην πλησιέστερη ακέραια τιμή.

Για να δείξουμε το αποτέλεσμα ως έχει, πρέπει να αλλάξουμε τον τύπο μεταβλητής από Integer σε Double.

Αυτό θα πρέπει να μας δώσει τον ακριβή αριθμό όπως αναθέσαμε στη μεταβλητή.

Εντάξει, λαμβάνοντας υπόψη αυτό, μπορούμε επίσης να μετατρέψουμε όλους τους αριθμούς κλασμάτων, οι οποίοι είναι καταστήματα ως μη διπλός τύπος δεδομένων.

Παραδείγματα χρήσης της συνάρτησης VBA CDBL

Παράδειγμα # 1

Για να ξεκινήσετε τη διαδικασία, ας δούμε τον παρακάτω κώδικα.

Κώδικας:

Sub Double_Example1 () Dim k As String k = 48.14869569 MsgBox k End Sub

Τώρα θα τρέξω τον κώδικα και θα δω τι θα συμβεί.

Παρόλο που ο τύπος μεταβλητής VBA είναι "String", εξακολουθεί να δείχνει τις δεκαδικές τιμές. Αυτό συμβαίνει επειδή η συμβολοσειρά μπορεί να είναι οποιουδήποτε τύπου τύπου δεδομένων, έτσι εμφανίζονται δεκαδικοί ή κυμαινόμενοι αριθμοί όπως είναι.

Τώρα θα αλλάξω τον τύπο δεδομένων vba από συμβολοσειρά σε Integer.

Κώδικας:

Sub Double_Example1 () Dim k As Integer k = 48.14869569 MsgBox k End Sub

Τώρα θα τρέξω τον κώδικα και θα δω τι θα συμβεί.

Αυτό είναι όπου η λειτουργία CDBL παίζει ζωτικό ρόλο στη μετατροπή του ακέραιου τύπου δεδομένων σε διπλάσιο. Ο παρακάτω κώδικας είναι ο ίδιος για εσάς.

Κώδικας:

Sub Double_Example1 () Dim IntegerNumber As String Dim DoubleNumber As Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub

Αυτό θα μετατρέψει την τιμή τύπου δεδομένων συμβολοσειράς σε Διπλή.

Παράδειγμα # 2

Τώρα ας μετατρέψουμε τον αριθμό 854.6947, ο οποίος αποθηκεύεται ως παραλλαγή σε διπλό τύπο δεδομένων.

Κώδικας:

Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber As Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub

Η πρώτη μεταβλητή έχω δηλώσει ως "Παραλλαγή". Dim VaraintNumber

Σημείωση: Όταν ο τύπος μεταβλητής δεν δηλώνεται, γίνεται καθολικός τύπος δεδομένων Variant.

Στη συνέχεια, έχω δηλώσει μια ακόμη μεταβλητή, δηλαδή, Dim DoubleNumber As Double.

Για την πρώτη μεταβλητή, VaraintNumber, έχουμε αντιστοιχίσει την τιμή ως 854.6947.

Τώρα, χρησιμοποιώντας τη δεύτερη μεταβλητή, έχουμε εφαρμόσει τη συνάρτηση CDBL για να μετατρέψουμε την τιμή παραλλαγής σε διπλό τύπο δεδομένων.

DoubleNumber = CDbl (VaraintNumber)

Το τελευταίο μέρος είναι να δείξει το αποτέλεσμα στο πλαίσιο μηνυμάτων. MsgBox DoubleNumber

Τώρα θα τρέξω τον κωδικό για να δω το αποτέλεσμα.

Πράγματα που πρέπει να θυμάστε

  • Ένας διπλός τύπος δεδομένων μπορεί να δεχτεί μόνο αριθμητικούς αριθμούς.
  • Εάν παρέχεται τιμή κειμένου, θα προκαλέσει σφάλμα τύπου Αναντιστοιχία τύπου.
  • Ένας διπλός τύπος δεδομένων μπορεί να εμφανίζει μόνο 13 ψηφία κυμαινόμενων αριθμών.

ενδιαφέροντα άρθρα...