VBA CDBL功能|如何将值转换为双精度数据类型?
Excel VBA CDBL功能
VBA CDBL 是内置的数据类型转换函数,此函数的用途是将任何给定变量的值的数据类型转换为Double数据类型,此函数仅采用单个参数,即变量本身的值。
在VBA中,“ CDBL”代表 “转换为双倍”。 此函数将给定的数字转换为Double数据类型。看一下CDBL函数的语法。
- 表达 是我们试图转换为Double数据类型的值。
通过应用CDBL功能,可以转换存储为双精度数据类型以外的任何浮点数。
指向此处要记住: 只能将数值转换为Double数据类型。除数值以外的任何内容都不能转换为双精度类型,因此最终显示如下的“ VBA中的类型不匹配错误”。
您是否曾在VBA编码中使用过双重数据类型?
如果不是,那么现在就值得一看。 Double是数据类型,用于存储数字的小数位。我们最多可以有13个浮点十进制数字。
有关示例,请查看下面的VBA代码。
在上面,我已经将变量(k)类型定义为Integer。 Dim k作为整数
接下来,我将值分配为 k = 25.4561248694615
当我运行代码时,我们将得到如下结果。
我们得到的结果为25。由于我们已将变量定义为Integer VBA,因此舍入到最接近的整数值。
为了按原样显示结果,我们需要将变量类型从Integer更改为Double。
这应该为我们提供分配给变量的确切数字。
好的,记住这一点,我们还可以将所有存储为非双精度数据类型的分数转换。
使用VBA CDBL功能的示例
您可以在此处下载此VBA CDBL功能模板– VBA CDBL功能模板范例#1
首先,请看下面的代码。
代码:
Sub Double_Example1()Dim k作为字符串k = 48.14869569 MsgBox k End Sub
现在,我将运行代码,看看会发生什么。
即使VBA变量类型为“字符串”,它仍显示十进制值。这是因为String可以是任何类型的数据类型,因此十进制或浮点数将按原样显示。
现在,我将数据类型从字符串更改为Integer。
代码:
Sub Double_Example1()Dim k作为整数k = 48.14869569 MsgBox k End Sub
现在,我将运行代码,看看会发生什么。
这是CDBL函数将整数数据类型转换为double时至关重要的地方。因此,下面的代码对您来说是相同的。
代码:
Sub Double_Example1()Dim IntegerNumber作为字符串Dim DoubleNumber作为Double IntegerNumber = 48.14869569 DoubleNumber = CDbl(IntegerNumber)MsgBox DoubleNumber End Sub
这会将字符串数据类型的值转换为Double。
范例#2
现在,我们将存储为Variant到Double数据类型的数字854.6947转换。
代码:
Sub Double_Example2()Dim VaraintNumber Dim DoubleNumber作为Double VaraintNumber = 854.6947 DoubleNumber = CDbl(VaraintNumber)MsgBox DoubleNumber结尾Sub
我已声明为“ Variant”的第一个变量。 昏暗变数
笔记: 如果未声明变量类型,它将成为通用数据类型Variant。
接下来,我声明了另一个变量 即Dim DoubleNumber为Double
对于第一个变量 VaraintNumber, 我们已将值指定为854.6947。
现在,通过使用第二个变量,我们已应用CDBL函数将Variant值转换为Double数据类型。
DoubleNumber = CDbl(VaraintNumber)
最后一部分是在消息框中显示结果。 MsgBox DoubleNumber
现在,我将运行代码以查看结果。
要记住的事情
- 双精度数据类型只能接受数字。
- 如果提供了文本值,将导致类型不匹配的错误。
- 双精度数据类型只能显示13位浮点数。