如何在VBScript中将字符串转换为double?

Mar*_*son 4 vbscript

我需要在VBScript中编写一些代码,并在文本文件中有一个版本号字符串,我需要与之进行比较.如果我将此代码编写为测试:

option explicit

Dim VersionString
VersionString = "6.2.1"

Dim Version
Version = CDbl (VersionString)

Version = Version * 100
Run Code Online (Sandbox Code Playgroud)

我在CDbl上遇到错误:

Microsoft VBScript runtime error: Type mismatch: 'CDbl'

我该如何阅读和比较这个字符串值?

Ekk*_*ner 10

"6.2.1"不是Double格式化为String.所以CDbl()无法转换它.你的选择是:

  1. 将版本视为字符串; 好的,如果你只需要比较相等,那么如果你需要"6.9.1"小于"6.10.2"那就不好
  2. 拆分()字符串"." 并分别处理部分(可能转换为整数/长整数); 你需要为这样的数组写一个比较函数
  3. 删除"."和CLng生成的字符串; 将破坏像"6.10.2"这样的版本
  4. 将(*)上的字符串拆分()并乘以+添加'digits'以得到一个(整数)版本号(6*100 + 2*10 + 1*1 = 621为您的样本); 对于像"15.00.30729.01"这样的版本可能会更复杂