[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[已解决]用VBS计算用户输入的值乘以几个数

要求,运行代码后,提示输入一个数 n
则计算 该数分别乘以 下列数的积,然后一次性显示出来
1.382
1.5
1.618
2
2.382
2.5
2.618
显示:
n*1.382=
n*1.5=
。。。。
。。。。
n*2.618=

[ 本帖最后由 随风 于 2009-5-9 19:31 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2
技术问题请到论坛发帖求助!

回复 9楼 的帖子

还是不明白~~1.5和2.5就那么特殊,后面一个也没有?
http://hi.baidu.com/%BD%BA%CB%AE502

TOP

哈哈,随风兄也对vbs起了兴趣了。
的确,用vbs+批处理比单用批处理强了N倍。
***共同提高***

TOP

问题是解决了,采用的2楼的方案,谢谢大家。。。
技术问题请到论坛发帖求助!

TOP

Integer不是整数就有问题

TOP

真是奇怪了,call set "str=%%a                              " 始终无法在一行中显示,是论坛的原因吗?
彻底晕了。。。
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('cscript /nologo tem.vbs') do (
  3.   echo [前] %%a [后]
  4. )
  5. pause
复制代码

只显示一个 “前”

[ 本帖最后由 随风 于 2009-5-9 16:55 编辑 ]
技术问题请到论坛发帖求助!

TOP

这段vbs的结果中难道有不可见字符?
我不用call 给变量赋值的话,第一行就怎么也对不齐。
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1* delims==" %%a in ('cscript /nologo tem.vbs') do (
  3.    call set "str=%%a                              "                              
  4.    if not "%%b"=="" echo. !str:~0,15! = %%b
  5. )
  6. pause
  7. exit
复制代码

tem.vbs
  1. num=array(1.382,1.5,1.618,2,2.382,2.5,2.618)
  2. n=inputbox("Input a num")
  3. for i=0 to ubound(num)
  4. str=str&n&"*"&num(i)& "= "&n*num(i)&chr(10)&chr(13)
  5. next
  6. WScript.Echo str
复制代码

[ 本帖最后由 随风 于 2009-5-9 16:47 编辑 ]
技术问题请到论坛发帖求助!

TOP

回复 8楼 的帖子

奇怪我的怎么不行?
技术问题请到论坛发帖求助!

TOP

  1. num=array(1.382,1.5,1.618,2,2.382,2.5,2.618)
  2. n=inputbox("Input a num")
  3. for i=0 to ubound(num)
  4.   if TypeName(num(i)) = "Integer" then
  5.     str=str&n&" * "&num(i)&chr(9)&chr(9)&" = "&n*num(i)&chr(10)&chr(13)
  6.   else
  7.     str=str&n&" * "&num(i)&chr(9)&" = "&n*num(i)&chr(10)&chr(13)
  8.   end if
  9. next
  10. WScript.Echo str
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我真是笨极了,我想把乘号和等号左右都加个空格,怎么它会格一行对齐一行呢?
  1. num=array(1.382,1.5,1.618,2,2.382,2.5,2.618)
  2. n=inputbox("Input a num")
  3. for i=0 to ubound(num)
  4. str=str&n&" * "&num(i)&chr(9)&" = "&n*num(i)&chr(10)&chr(13)
  5. next
  6. msgbox str
复制代码
技术问题请到论坛发帖求助!

TOP

回复 4楼 的帖子

直接用Tab就行了吧。。。。
用Spc太麻烦了。。。
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

  1. num=array(1.382,1.5,1.618,2,2.382,2.5,2.618)
  2. n=inputbox("Input a num")
  3. for i=0 to ubound(num)
  4. str=str&n&"*"&num(i)&chr(9)&"="&n*num(i)&chr(10)&chr(13)
  5. next
  6. msgbox str
复制代码
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

len
space

TOP

回复 2楼 的帖子

谢谢!
对vbs一窍不通,请问能把结果对齐吗?
再次麻烦了~~
向这样
3*8         = 24
10*10     = 100
100*100 = 10000

[ 本帖最后由 随风 于 2009-5-9 11:34 编辑 ]
技术问题请到论坛发帖求助!

TOP

  1. num=array(1.382,1.5,1.618,2,2.382,2.5,2.618)
  2. n=inputbox("Input a num")
  3. for i=0 to ubound(num)
  4. str=str&n&"*"&num(i)&"="&n*num(i)&chr(10)&chr(13)
  5. next
  6. msgbox str
复制代码
1

评分人数

第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

返回列表