如何在VBScript中将字符串转换为双精度?
我需要用VBScript编写一些代码,并在一个文本文件中有一个版本号字符串,以便进行比较。如果我将此代码作为测试编写:如何在VBScript中将字符串转换为双精度?,vbscript,Vbscript,我需要用VBScript编写一些代码,并在一个文本文件中有一个版本号字符串,以便进行比较。如果我将此代码作为测试编写: option explicit Dim VersionString VersionString = "6.2.1" Dim Version Version = CDbl (VersionString) Version = Version * 100 我在CDbl行上得到一个错误: Microsoft VBScript运行时错误:类型不匹配:“CDbl” 如何读取和比较此
option explicit
Dim VersionString
VersionString = "6.2.1"
Dim Version
Version = CDbl (VersionString)
Version = Version * 100
我在CDbl行上得到一个错误:
Microsoft VBScript运行时错误:类型不匹配:“CDbl”
如何读取和比较此字符串值?由于字符串中有两个小数点,因此无法转换为双精度。要转换字符串,必须删除其中一个或两个 为此,可以使用Replace函数。Replace的语法是
Replace(string, find, replacewith [, start [, count [, compare]]])
其中string
是要搜索的字符串,find
是要查找的子字符串,replacewith
是要替换find
的子字符串,start
是一个可选参数,指定开始搜索的索引,count
是一个可选参数,指定要进行多少次替换,而compare
是一个可选参数,可以是0(vbBinaryCompare)来执行二进制比较,也可以是1(vbTextCompare)来执行文本比较
' Remove all decimals
Version = CDbl(Replace(VersionString, ".", "")
' Remove only the first decimal
Version = CDbl(Replace(VersionString, ".", "", 1, 1)
' Remove only the second decimal
Version = CDbl(Replace(VersionString, ".", "", 3, 1)
“6.2.1”不是双重格式的字符串。所以CDbl()无法转换它。你的选择是:
因为小数点后的两个点,它可能不起作用。。要将其转换为数字,必须删除其中一个或两个type@jonhopkins请写下答案,我会接受的