以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  麻烦管理员帮忙解释一下这个错误  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=65826)

--  作者:parmhan
--  发布时间:2014/6/5 10:16:02
--  麻烦管理员帮忙解释一下这个错误
今天有一段代码一直运行有异常,在调试器中查看两个变量的值分别是:
gMuCSigma = 9.10 gDxy00 = 10.00

当进行比较时:
if gMuCSigma > gDxy00 then
......
   这里被执行
end if 

在调试器的命令窗口用以下指令查看,发现比较返回True

在 Microsoft Script Debugger调试中的命令窗口
? gMuCsigma
9.10

? gDxy00
10.00

? gMuCsigma > gDxy00
True

我晕,明显 gMuCsigma小于 gDxy00 为什么会返回True呢

相关调试截图在附件中
[此贴子已经被作者于2014/6/5 10:16:42编辑过]

--  作者:parmhan
--  发布时间:2014/6/5 10:22:42
--  
调试器截图如下:
图片点击可在新窗口打开查看


--  作者:王锋
--  发布时间:2014/6/5 11:21:19
--  

VBS脚本的变量都是无类型的,你的情况很有可能是2个变量不同的类型,比如看起来是一样,但实际一个是数字一个是字符串,这样比起来当然系统认为9那个更大,

建议你在变量使用之前,先做强制类型转换,参考 CDbl 函数


--  作者:parmhan
--  发布时间:2014/6/5 11:35:38
--  
好的,谢谢