VBA CDBL функция - Как да конвертирате стойност в двоен тип данни?

Функция на Excel VBA CDBL

VBA CDBL е вградена функция за преобразуване на тип данни и използването на тази функция е, че преобразува типа данни на която и да е стойност на променлива в Double тип данни, тази функция приема само един аргумент, който е стойността на самата променлива.

Във VBA „CDBL“ означава „Конвертиране в двойно“. Тази функция преобразува даденото число в Double тип данни. Погледнете синтаксиса на функцията CDBL.

  • Изразът е стойността, която се опитваме да преобразуваме в тип данни Double.

Всеки плаващ номер, който се съхранява като различен от двоен тип данни, може да бъде преобразуван чрез прилагане на функцията CDBL.

Посочете тук, за да запомните: Само числови стойности могат да бъдат преобразувани в тип данни Double. Всичко, различно от числова стойност, не може да бъде преобразувано в двоен тип, така че в крайна сметка показва „Грешка при несъответствие на типа във VBA“, както е показано по-долу.

Случвало ли ви се е да използвате двоен тип данни при VBA кодиране?

Ако не, струва си да го разгледате сега. Double е типът данни, който се използва за съхраняване на десетичната позиция на числото. Можем да имаме до 13 плаващи десетични числа.

Например погледнете кода по-долу VBA.

В горното определих типа на променливата (k) като Integer. Dim k As Integer

След това зададох стойността като k = 25,4561248694615

Когато стартирам кода, ще получим резултата, както следва.

Получихме резултата като 25, тъй като определихме променливата като Integer VBA round до най-близката целочислена стойност.

За да покажем резултата такъв, какъвто е, трябва да сменим типа на променливата от Integer на Double.

Това трябва да ни даде точния номер, както сме задали на променливата.

Добре, имайки това предвид, можем също да преобразуваме всички числа на дроби, които се съхраняват като недвоен тип данни.

Примери за използване на VBA CDBL функция

Пример # 1

За да започнем производството, нека разгледаме кода по-долу.

Код:

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

Сега ще пусна кода и ще видя какво ще стане.

Въпреки че типът на променливата VBA е „String“, той все още показва десетичните стойности. Това е така, защото String може да бъде от всякакъв тип данни, така че десетичните или плаващи числа се показват такива, каквито са.

Сега ще променя типа данни на vba от низ на Целочислено.

Код:

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

Това ще преобразува стойността на типа низови данни в Double.

Пример # 2

Сега нека преобразуваме числото 854.6947, което се съхранява като Variant в тип данни Double.

Код:

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, за да преобразуваме стойността на Variant в тип данни Double.

DoubleNumber = CDbl (VaraintNumber)

Последната част е да покажете резултата в полето за съобщение. MsgBox DoubleNumber

Сега ще пусна кода, за да видя резултата.

Неща за запомняне

  • Двоен тип данни може да приема само цифрови числа.
  • Ако се предостави текстова стойност, това ще доведе до грешка в Type Mismatch.
  • Двойният тип данни може да показва само 13 цифри с плаващи числа.

Интересни статии...