在 VBA 中将字符串转换为数字 |
您所在的位置:网站首页 › 键盘转化数字怎么转换 › 在 VBA 中将字符串转换为数字 |
本文将讨论如何在 VBA Excel 中将字符串转换为数字。有一个分步指南和许多示例供我们理解。 在 VBA 中将字符串转换为数字在 VBA 代码中,必须将保存为文本的数字转换为实数。我们有许多转换选项。 我们可以将字符串转换为 Byte、Integer、Long、Single、Double、Currency 和 Decimal 数据类型的数字。我们将通过示例详细讨论每个转换。 在 VBA 中将字符串转换为字节借助以下代码,我们可以轻松地将字符串转换为多个字节数据类型。 # vba byte = CByte(str)我们可以使用 CByte() 函数来实现这种转换。上面的语句有两个项目:CByte() 和字符串。 CByte() 函数强制字符串变为字节类型。CByte() 通常用于执行国际化的字符串到字节数据类型的转换。 简单来说,CByte() 通常区分不同的十进制/千位分隔符和许多取决于你计算机位置的货币选项。字节数据类型可以容纳的范围是 0 到 225。如果你的字符串不在此范围内,则会发生错误。 这是一个宏示例,其中我们将 convertStr 作为参数将字符串转换为字节。 # vba Function convertStr(newStr As Variant) MsgBox (CByte(newStr)) End Function Sub newFunc() convertStr ("12") End Sub输出: 在 VBA 中将字符串转换为整数借助以下语句,你可以轻松地将字符串转换为整数数据类型的数字。该函数的语法如下所示。 # vba CInt(newStr)建议使用 Clnt() 函数将字符串更改为整数数据类型。此函数强制字符串更改为整数数据类型。 如果字符串包含分数,此函数会将其转换为整数。如果分数正好是 0.4,此函数会将其更改为最接近的偶数。 例如: # vba 0.4 will become 0. 1.6 and 2.4 both will become 2. 3.7 and 4.3 will become 4Clnt() 通常用于执行国际通用的字符串转换为整数数据类型。简单来说,Clnt() 通常区分不同的十进制/千位分隔符和许多取决于我们计算机位置的货币选项。 整数数据类型可以容纳数字的范围是 -32,768 到 32,767。如果你的字符串不在此范围内,则会发生错误。 让我们通过一个示例并使用 CInt() 函数,如下所示。此示例将 newStr 设置为将字符串更改为整数的参数,如下所示。 # vba Function convertToInteger(newStr As Variant) MsgBox (CInt(newStr)) End Function Sub newFunc() convertToInteger ("12.5") End Sub输出: 在 VBA 中将字符串转换为长整型我们可以使用 CLng() 函数来实现这种转换。该函数的语法如下所示。 # vba CLng(Str)当我们的目标是将字符串更改为几种长数据类型时,我们可以使用 CLng() 函数。此语句中的项目是 CLng() 和字符串。 此函数强制将字符串更改为长数据类型。 如果一个字符串包含一个分数,这个函数会将它四舍五入。如果分数恰好为 0.4,此函数会将其更改为最接近的偶数,如下所示。 # vba 0.4 will become 0. 1.6 and 2.4 both will become 2. 3.7 and 4.3 will become 4CLng() 通常用于执行国际化的字符串到长数据类型的转换。简单来说,CLng() 通常区分不同的十进制/千位分隔符和许多取决于你计算机位置的货币选项。 整数数据类型可以容纳数字的范围是 -2,147,483,648 到 2,147,483,647。如果你的字符串不在此范围内,则会发生错误。 让我们看一个例子并使用 CLng() 函数。在此示例中,我们将 newStr 设置为参数以将字符串更改为长字符串,如下所示。 # vba Function convertToLong(newStr As Variant) MsgBox (CLng(newStr)) End Function Sub newFunc() convertToLong ("15.7") End Sub输出: 长数据类型与整数数据类型只有一件事不同。较大的数字在长数据类型中是可以接受的。 但是以前内存不够用,不推荐使用长数据类型。 在现代,记忆不再是问题。我们可以使用 long 数据类型而不是整数。 在 VBA 中将字符串转换为单个字符串借助以下语法,我们可以轻松地将字符串转换为多个单一数据类型,如下所示。 # vba CSng(str)我们可以使用 CSng() 函数来实现这种转换。上面的语句中有两个项目,CSng() 和字符串。 此函数强制将字符串更改为单一数据类型。 CSng() 通常用于执行国际化字符串到单一数据类型的转换。CSng() 通常区分不同的十进制/千位分隔符和取决于计算机位置的货币选项。 单个数据类型可以容纳浮点数的范围是 当值为负时,3.402823E38 到 -1.401298E-45 值为正时为 1.401298E-45 至 3.402823E38如果你的字符串不在此范围内,则会出现错误。如下所示,让我们来看一个示例,其中我们将 newStr 设置为参数以将字符串更改为单个字符串。 # vba Function convertToSingle(newStr As Variant) MsgBox (CSng(newStr)) End Function Sub newFunc() convertToSingle ("1.3") End Sub输出: 在 VBA 中将字符串转换为双精度借助以下语句,我们可以轻松地将字符串转换为多种双精度数据类型。该函数的语法如下所示。 # vba CDbl(str)建议使用 CDbl() 函数将字符串更改为双精度数据类型。此函数强制将字符串更改为双精度数据类型。 CDbl() 通常用于执行国际感知的字符串转换为双精度数据类型。 简而言之,CDbl() 通常区分独特的十进制/千位分隔符和许多取决于你计算机位置的货币选项。 double 数据类型可以容纳浮点数的范围如下。 -1.79769313486231E308 到 -4.94065645841247E-324 当值为负数时。 当值为正时,4.94065645841247E-324 到 1.79769313486232E308。如果我们的字符串不在此范围内,则会出现错误。如下所示,让我们通过一个示例,在该示例中,我们将 newStr 设置为参数以将字符串更改为双精度。 # vba Function convertToDouble(newStr As Variant) MsgBox (CDbl(newStr)) End Function Sub newFunc() convertToDouble ("1.345") End Sub输出: 在 VBA 中将字符串转换为货币借助以下语句,你可以轻松地将字符串转换为多种货币数据类型。该函数的语法如下所示。 # vba CCur(newStr)建议使用 CCur() 函数将字符串更改为货币数据类型。此函数强制将字符串更改为货币数据类型。 CCur() 通常用于执行国际通用的字符串转换为货币数据类型。 这意味着 CCur() 通常区分独特的十进制/千位分隔符和许多取决于你计算机位置的货币选项。货币数据类型可以容纳 10,000 的整数。 因此,一种货币可以在小数点左侧容纳 15 个数字,在小数点右侧容纳 4 个数字。因此,一种货币可以容纳数字的范围是: -922,337,203,685,477.5808 至 922,337,203,685,477.5807。 如果你的字符串不在此范围内,则会出现错误。 如下所示,让我们来看一个示例,在该示例中,我们将 newStr 设置为参数以将字符串更改为货币。 # vba Function convertToCurrency(newStr As Variant) msgBox(CCur(newStr)) End Function 在 VBA 中将字符串转换为十进制我们可以使用下面的语句来实现这种转换。 # vba CDec(newStr)当我们的目标是将字符串更改为多种十进制数据类型时,我们可以使用 CDec() 函数。此函数强制将字符串更改为 Variant 数据类型的十进制数据子类型。 简单来说,CDec() 将返回一个更改为 Decimal 子类型的变体。 CDec() 通常用于将字符串转换为十进制数据类型。这意味着 CDec() 通常区分不同的十进制/千位分隔符和许多取决于你计算机位置的货币选项。 十进制数据类型可以携带具有 10 的可变幂的整数。幂表示可以出现在小数点右侧的位数。 小数可以保存的值的范围如下所示。 当比例为 0 时,即不存在小数,范围从 79,228,162,514,264,337,593,543,950,335 到 79,228,162,514,264,337,593,543,950,335。 有 28 位小数时,最大值和最小值分别为 +7.9228162514264337593543950335 和 -7.9228162514264337593543950335。 不包含零值的最小值是 -0.00000000000000000000000000001 和 0.0000000000000000000000000001。如下所示,让我们通过一个示例,其中我们将 newStr 设置为参数以将字符串更改为小数。 # vba Function convertToDecimal(newStr As Variant) msgBox(CDec(newStr)) End Function |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |