在 vba 中将字符串转换为数字-ag捕鱼王app官网

当前位置:ag捕鱼王app官网 > > 编程语言 > vba >

在 vba 中将字符串转换为数字

作者:迹忆客 最近更新:2023/05/09 浏览次数:

本文将讨论如何在 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 4

clnt() 通常用于执行国际通用的字符串转换为整数数据类型。简单来说,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 中将字符串转换为数字作为 int

在 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 4

clng() 通常用于执行国际化的字符串到长数据类型的转换。简单来说,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

输出:

在 vba 中将字符串转换为数字

长数据类型与整数数据类型只有一件事不同。较大的数字在长数据类型中是可以接受的。

但是以前内存不够用,不推荐使用长数据类型。

在现代,记忆不再是问题。我们可以使用 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 中将字符串转换为双精度

借助以下语句,我们可以轻松地将字符串转换为多种双精度数据类型。该函数的语法如下所示。

# 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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 vba 中计算列数

发布时间:2023/03/19 浏览次数:599 分类:vba

本教程演示如何计算 vba 中的列数。

发布时间:2023/03/19 浏览次数:627 分类:vba

本教程演示了如何在 vba 中使用具有多个条件的自动过滤器。

发布时间:2023/03/19 浏览次数:383 分类:vba

本教程演示如何在 vba 中设置工作表。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图