ZetCode

VBScript 转换函数

最后修改于 2025 年 4 月 4 日

VBScript 提供了一些内置函数,用于在不同数据类型之间进行转换。当您需要确保数据具有正确的格式时,这些函数至关重要。转换函数有助于防止错误并确保脚本行为的一致性。本教程将通过实际示例介绍所有主要的 VBScript 转换函数。

VBScript 转换函数概述

VBScript 转换函数将数据从一种类型转换为另一种类型。常用函数包括 CIntCLngCSngCDblCBoolCStrCDateCByte。每个函数处理特定的类型转换。

当处理用户输入或外部数据源时,这些函数尤其有用。它们有助于在处理之前确保值是预期的格式。理解这些函数对于编写健壮的脚本至关重要。

使用 CInt 转换为整数

CInt 函数将表达式转换为 Integer 子类型。它会将小数部分的值四舍五入到最近的整数。如果值超出 Integer 范围(-32,768 到 32,767),则会发生错误。这对于整数计算非常有用。

cint_example.vbs
Dim num1, num2, num3
num1 = CInt("123")       ' String to Integer
num2 = CInt(45.67)       ' Double to Integer (rounds to 46)
num3 = CInt(True)        ' Boolean to Integer (True = -1)

WScript.Echo "num1: " & num1
WScript.Echo "num2: " & num2
WScript.Echo "num3: " & num3

此示例显示了转换为整数的各种转换。请注意布尔值 True 如何转换为 -1。该函数处理数字的字符串表示形式,并对浮点值执行四舍五入。

使用 CStr 转换为字符串

CStr 函数将任何表达式转换为 String 子类型。这对于显示值或与其他字符串连接非常有用。它处理所有 VBScript 数据类型,包括数字、日期和布尔值。

cstr_example.vbs
Dim str1, str2, str3, str4
str1 = CStr(123)         ' Integer to String
str2 = CStr(45.67)       ' Double to String
str3 = CStr(#4/15/2025#) ' Date to String
str4 = CStr(False)       ' Boolean to String

WScript.Echo "str1: " & str1
WScript.Echo "str2: " & str2
WScript.Echo "str3: " & str3
WScript.Echo "str4: " & str4

此示例演示了将各种数据类型转换为字符串。输出显示了不同值如何表示为字符串。日期转换使用基于系统设置的短日期格式。

使用 CBool 转换为布尔值

CBool 函数将表达式转换为 Boolean 子类型。对于非零数字和非空字符串,它返回 True。空字符串、零和 Null 会转换为 False。这对于条件求值非常有用。

cbool_example.vbs
Dim bool1, bool2, bool3, bool4
bool1 = CBool(1)         ' Non-zero to True
bool2 = CBool(0)         ' Zero to False
bool3 = CBool("Hello")   ' Non-empty string to True
bool4 = CBool("")        ' Empty string to False

WScript.Echo "bool1: " & bool1
WScript.Echo "bool2: " & bool2
WScript.Echo "bool3: " & bool3
WScript.Echo "bool4: " & bool4

此示例显示了不同值如何转换为布尔值。请注意任何非零数字如何变为 True。字符串转换取决于字符串是否包含字符或为空。

使用 CDate 转换为日期

CDate 函数将有效的日期字符串或数字转换为 Date 子类型。它根据系统区域设置识别各种日期格式。无效的日期字符串会导致运行时错误。这对于日期处理至关重要。

cdate_example.vbs
Dim date1, date2, date3
date1 = CDate("April 15, 2025")
date2 = CDate("15/4/2025")
date3 = CDate("2:30:45 PM")

WScript.Echo "date1: " & date1
WScript.Echo "date2: " & date2
WScript.Echo "date3: " & date3

此示例演示了转换不同的日期和时间字符串。该函数对输入格式灵活,但需要有效的日期。时间值可以单独转换,也可以与日期合并转换。

类型检查函数

VBScript 提供了一些函数,用于在转换之前检查变量类型。这些包括 IsNumericIsDateIsArrayIsObject。如果变量可以转换为指定的类型,它们将返回 True。这可以防止转换错误。

type_checking.vbs
Dim check1, check2, check3
check1 = IsNumeric("123")     ' True
check2 = IsDate("April 15")   ' True
check3 = IsNumeric("ABC")     ' False

WScript.Echo "IsNumeric('123'): " & check1
WScript.Echo "IsDate('April 15'): " & check2
WScript.Echo "IsNumeric('ABC'): " & check3

此示例展示了如何在转换前安全地检查类型。这些函数对于验证用户输入或外部数据很有价值。它们通过防止转换错误来帮助编写更健壮的脚本。

来源

VBScript 转换函数文档

在本文中,我们深入探讨了 VBScript 转换函数。从基本类型转换到高级类型检查,这些函数对于可靠的脚本编写至关重要。示例演示了您可以适应自己项目的实际用法场景。有了这些知识,您就可以在 VBScript 程序中自信地处理数据类型转换。

作者

我叫 Jan Bodnar,是一位拥有多年编程经验的热情程序员。我自 2007 年以来一直在撰写编程文章。到目前为止,我已撰写了 1400 多篇文章和 8 本电子书。我在编程教学方面拥有八年以上的经验。

列出所有 VBScript 教程