找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 13437|回复: 8

[问题求助] [已解决]求助VBS怎样对变量进行数字比较?

[复制链接]
发表于 2023-4-23 12:46:56 | 显示全部楼层 |阅读模式
本帖最后由 LTSC1809 于 2023-4-23 17:05 编辑

我做了一个用来测试vbs解释器性能的程序,打开后要求你输入运行次数,最后输出运行用时,代码如下:
  1. dim t1,t2,a,number
  2. number=inputbox("Type_RunNumber:")
  3. t1=timer()
  4. a=0
  5. do
  6. a=a+1
  7. if a>number then exit do
  8. loop
  9. t2=timer()
  10. msgbox("Run_Number:"&a&"Run_Time:"&t2-t1)
复制代码
现在的问题是,运行后不管你输入多少,他都一直运行,任务管理器可以看到,占用很高,应该一直还在做加法,但是if那里number那个变量换成数字,他就能加法做到那个数字大小的时候跳出循环并输出,为什么换成变量就不行了

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-4-23 14:15:57 | 显示全部楼层
回复 1# LTSC1809


InputBox返回的是字符串,先把它转换成数字,例如:
http://bbs.bathome.net/include/js/script56/html/vsfctint.htm
http://bbs.bathome.net/include/js/script56/html/vsfctcint.htm

评分

参与人数 1技术 +1 收起 理由
LTSC1809 + 1 感谢回复

查看全部评分

发表于 2023-4-23 15:04:46 | 显示全部楼层
number = 0 + inputbox("Type_RunNumber:")

评分

参与人数 1技术 +1 收起 理由
LTSC1809 + 1 感谢回复

查看全部评分

 楼主| 发表于 2023-4-23 16:57:08 | 显示全部楼层
回复 2# Batcher 谢了,虽然那两篇文章感觉和这个没太大关联,但是inputbox返回的是字符串这个我确实没想到
发表于 2023-4-23 18:22:17 | 显示全部楼层
number=clng(inputbox("Type_RunNumber:"))
t1=timer()
a=0
do while number>a
a=a+1
loop
msgbox("Run_Number:"&a&"Run_Time:"&timer()-t1)

评分

参与人数 1技术 +1 收起 理由
LTSC1809 + 1 感谢回复

查看全部评分

 楼主| 发表于 2023-4-23 19:08:25 | 显示全部楼层
回复 5# jyswjjgdwtdtj


  没有声明变量感觉好别扭...我知道不声明也能运行,但是我看的新手教程是强烈建议先声明后使用
发表于 2023-4-23 19:08:53 | 显示全部楼层
回复 6# LTSC1809


    好吧 其实真的没用
发表于 2023-4-23 19:09:33 | 显示全部楼层
回复 6# LTSC1809


    既然想保留这个好习惯 不如在脚本前部加上option explicit来督促自己
发表于 2023-4-23 22:30:08 | 显示全部楼层
回复 6# LTSC1809


    我支持你的观点,好习惯保持住,别被他人影响。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:23 , Processed in 0.019797 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表