VBA CDBL-functie - Hoe waarde converteren naar dubbel gegevenstype?

Inhoudsopgave

Excel VBA CDBL-functie

VBA CDBL is een ingebouwde conversiefunctie voor gegevenstypen en het gebruik van deze functie is dat het het gegevenstype van de waarde van een gegeven variabele converteert naar een dubbel gegevenstype, deze functie heeft slechts één argument nodig, namelijk de waarde van de variabele zelf.

In VBA staat 'CDBL' voor 'Convert to Double'. Deze functie converteert het gegeven getal naar het gegevenstype Dubbel. Bekijk de syntaxis van de CDBL-functie.

  • De uitdrukking is de waarde die we proberen te converteren naar het gegevenstype Dubbel.

Elk zwevend getal dat is opgeslagen als een ander dan dubbel gegevenstype, kan worden geconverteerd door de CDBL-functie toe te passen.

Wijs om hier te onthouden aan: alleen numerieke waarden kunnen worden geconverteerd naar het gegevenstype Dubbel. Iets anders dan numerieke waarde kan niet worden geconverteerd naar dubbel type, dus uiteindelijk wordt "Type Mismatch Error in VBA" weergegeven zoals hieronder.

Heeft u ooit een dubbel gegevenstype gebruikt in VBA-codering?

Zo niet, dan is het de moeite waard om er nu naar te kijken. Dubbel is het gegevenstype dat wordt gebruikt om de decimale positie van het nummer op te slaan. We kunnen maximaal 13 drijvende decimale getallen hebben.

Kijk bijvoorbeeld naar de onderstaande VBA-code.

In het bovenstaande heb ik het variabele (k) -type gedefinieerd als Integer. Dim k als geheel getal

Vervolgens heb ik de waarde toegewezen als k = 25.4561248694615

Als ik de code uitvoer, krijgen we het resultaat als volgt.

We hebben het resultaat als 25 omdat we de variabele hebben gedefinieerd als Integer VBA, afgerond naar de dichtstbijzijnde gehele waarde.

Om het resultaat te laten zien zoals het is, moeten we het type variabele veranderen van Integer in Double.

Dit zou ons het exacte aantal moeten geven dat we aan de variabele hebben toegewezen.

Ok, dit in gedachten houdend, kunnen we ook alle breuknummers converteren, die worden opgeslagen als een niet-dubbel gegevenstype.

Voorbeelden om de VBA CDBL-functie te gebruiken

Voorbeeld 1

Laten we de onderstaande code bekijken om de procedure te starten.

Code:

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

Nu zal ik de code uitvoeren en kijken wat er gebeurt.

Hoewel het VBA-variabeletype 'String' is, worden nog steeds de decimale waarden weergegeven. Dit komt doordat String van elk gegevenstype kan zijn, dus decimale of zwevende getallen worden weergegeven zoals ze zijn.

Nu zal ik het vba-gegevenstype wijzigen van string in geheel getal.

Code:

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

Nu zal ik de code uitvoeren en kijken wat er gebeurt.

Dit is waar de CDBL-functie een cruciale rol speelt bij het converteren van het integer-gegevenstype naar verdubbeling. Dus onderstaande code is hetzelfde voor jou.

Code:

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

Hiermee wordt de waarde van het gegevenstype van de tekenreeks geconverteerd naar Double.

Voorbeeld 2

Laten we nu het getal 854.6947 converteren, dat is opgeslagen als het gegevenstype Variant naar Dubbel.

Code:

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

De eerste variabele die ik heb gedeclareerd als 'Variant'. Afm VaraintNumber

Opmerking: als het type variabele niet is gedeclareerd, wordt het een universeel gegevenstype Variant.

Vervolgens heb ik nog een variabele gedeclareerd, namelijk Dim DoubleNumber As Double.

Voor de eerste variabele, VaraintNumber, hebben we de waarde 854.6947 toegewezen.

Door nu de tweede variabele te gebruiken, hebben we de CDBL-functie toegepast om de Variant-waarde naar het gegevenstype Double te converteren.

DoubleNumber = CDbl (VaraintNumber)

Het laatste deel is om het resultaat in het berichtvenster te tonen. MsgBox DoubleNumber

Nu zal ik de code uitvoeren om het resultaat te zien.

Dingen om te onthouden

  • Een dubbel gegevenstype kan alleen numerieke getallen accepteren.
  • Als er tekstwaarde wordt opgegeven, veroorzaakt dit een fout van Type Mismatch.
  • Een dubbel gegevenstype kan slechts 13 cijfers van drijvende getallen weergeven.

Interessante artikelen...