龙空技术网

菜鸟学习VBS第3集|数据类型

斑马侯爵 11

前言:

现时看官们对“vbs 转换字符串为数字”都比较关心,姐妹们都想要知道一些“vbs 转换字符串为数字”的相关知识。那么小编也在网上汇集了一些有关“vbs 转换字符串为数字””的相关文章,希望你们能喜欢,小伙伴们快快来了解一下吧!

我们接着上集的内容深入的学习数据的类型。

VBScript 只有一种数据类型,称为 Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为 Variant 是 VBScript 中唯一的数据类型,所以它也是 VBScript 中所有函数的返回值的数据类型。

最简单的 Variant 可以包含数字或字符串信息。Variant 用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来像是数字的数据,则 VBScript 会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则 VBScript 将按字符串处理。也可以将数字包含在引号 (" ") 中使其成为字符串。下图是数据类型列表,其实最常用的也就integer(整型),string(字符型),boolean(布尔型)这3种。

上面这官话看着好像很拗口,那我们来用两个栗子说话。

1)

Dim a,b,c

a=inputbox("a是:","输入半径")

b=Inputbox("b是:","输入半径")

c=a*2+b*2

Msgbox(c)

这个 输入1、2时是6

2)

Dim a,b,c

a=inputbox("a是:","输入半径")

b=Inputbox("b是:","输入半径")

c=(a+b)*2

Msgbox(c)

这个输入1、2时是24

相同的输入,结果却不同,什么原因呢? 在数学上c=(a+b)*2 和 c=a*2+b*2是等价的, 在VBS中也是如此. 问题出在"+"上, 在VBS中, +不仅仅是数学上加号的意思还表示把两个字符串连接起来, 例如"Hello"+"World"="HelloWorld"。

上图我们在InputBox函数填入的数字,其实它不是数字,而是字符串! 这就是问题所在。原来a,b都是字符串变量, 结果可不就是"1"+"2"="12"。但为什么, a可以*2却不发生错误呢? 在VBS中,“*"是代表算数运算,表达式a*2中,a被vbs强制转换为数字后参与数学运算。

如果这个字符串的内容是一个数且对他进行数学运算, 则把字符串强制转换成数参与运算, 如果字符串代表一个数, 但不参加数学运算, 而是参加字符串运算(合并)则当作字符串处理, 所以你看到a+b=12, 这时候a+b的结果(12)是一个字符串, 当它要乘以2的时候就被强制转换成了数字12, 这样我就得到了结果24。我想这个栗子把开头几段话解释得很清楚了。

而在bartender打印软件中,如果在变量中输入数字的话,除非您添加了”“引号包裹数据,否则脚本默认为整数类型。

说了整形和字符型接下来再说说变量类型:布尔值(Boolean型), 这种变量只有两个可能值:True,Flase,即真或假。我们定义一个bool变量的方法和其他变量一样, 赋值也一样, 例如:

a=true,b=flase

注意,true和"true"是不一样的, "true"是字符串,true是布尔值, 千万不能混淆.

布尔型将在下集和判断结果一起讲,敬请期待。

----------end-------------

标签: #vbs 转换字符串为数字