VBScript只有1种基础数据类型:Variant(变体/可变类型)。 Variant本身不是数字、不是字符串,它是一个容器,根据存放内容自动识别为对应的子类型。所有变量、函数返回值,全都是Variant。
Variant 的常用子类型
| 子类型 | 说明 |
|---|---|
| Empty | 变量声明后还没有赋值初始化。Dim a → a是Empty;参与运算时Empty会当成0或空字符串。 |
| Null | 不含任何有效数据,不是空字符串,不是0。多用于数据库,表示数据缺失。 只要表达式里面带有Null,运算结果一定是Null。 |
| Boolean | 布尔逻辑值,只有 True / False |
| Byte | 字节,整数范围:0 ~ 255 |
| Integer | 短整数:-32768 ~ 32767(注意上限是32767,笔记笔误写32768) |
| Long | 长整数,范围比Integer大很多 |
| Currency | 货币型,高精度小数,适合金额计算,避免浮点误差 |
| Single | 单精度浮点数,小数,精度较低 |
| Double | 双精度浮点数,小数,取值范围更大、精度更高 |
| Date(Time) | 日期时间类型 日期:100-01-01 ~ 9999-12-31 时间:00:00:00 ~ 23:59:59 写法: #2019-01-18# |
| String | 字符串,最多约20亿字符 |
| Object | 对象类型,存放COM对象实例 |
| Error | 保存错误编号,用于捕获程序错误 |
自动类型转换
VBScript会自动识别、自动转换Variant子类型:
a = 2019 'Variant,子类型Integer(数字)
b = "2019" 'Variant,子类型String(字符串)
c = #2019-01-18# 'Variant,子类型Date(日期)
b = "2019"
b2 = b + 1 '自动把字符串"2019"转为数字2019,运算结果2020
Code language: PHP (php)
注意:自动转换有坑。
+运算符会尝试数字加法;拼接字符串推荐用&,强制转字符串,不容易报错。
Previous: 运算符
Next: VBScript 常量