标题: [已解决]用VBS计算用户输入的值乘以几个数 [打印本页]
作者: 随风 时间: 2009-5-9 10:28 标题: [已解决]用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 编辑 ]
作者: defanive 时间: 2009-5-9 10:54
- num=array(1.382,1.5,1.618,2,2.382,2.5,2.618)
- n=inputbox("Input a num")
- for i=0 to ubound(num)
- str=str&n&"*"&num(i)&"="&n*num(i)&chr(10)&chr(13)
- next
- msgbox str
复制代码
作者: 随风 时间: 2009-5-9 11:31 标题: 回复 2楼 的帖子
谢谢!
对vbs一窍不通,请问能把结果对齐吗?
再次麻烦了~~
向这样
3*8 = 24
10*10 = 100
100*100 = 10000
[ 本帖最后由 随风 于 2009-5-9 11:34 编辑 ]
作者: yslyxqysl 时间: 2009-5-9 12:00
len
space
作者: defanive 时间: 2009-5-9 12:05
- num=array(1.382,1.5,1.618,2,2.382,2.5,2.618)
- n=inputbox("Input a num")
- for i=0 to ubound(num)
- str=str&n&"*"&num(i)&chr(9)&"="&n*num(i)&chr(10)&chr(13)
- next
- msgbox str
复制代码
作者: defanive 时间: 2009-5-9 12:05 标题: 回复 4楼 的帖子
直接用Tab就行了吧。。。。
用Spc太麻烦了。。。
作者: 随风 时间: 2009-5-9 12:27
我真是笨极了,我想把乘号和等号左右都加个空格,怎么它会格一行对齐一行呢?- num=array(1.382,1.5,1.618,2,2.382,2.5,2.618)
- n=inputbox("Input a num")
- for i=0 to ubound(num)
- str=str&n&" * "&num(i)&chr(9)&" = "&n*num(i)&chr(10)&chr(13)
- next
- msgbox str
复制代码
作者: Batcher 时间: 2009-5-9 13:11
- num=array(1.382,1.5,1.618,2,2.382,2.5,2.618)
- n=inputbox("Input a num")
- for i=0 to ubound(num)
- if TypeName(num(i)) = "Integer" then
- str=str&n&" * "&num(i)&chr(9)&chr(9)&" = "&n*num(i)&chr(10)&chr(13)
- else
- str=str&n&" * "&num(i)&chr(9)&" = "&n*num(i)&chr(10)&chr(13)
- end if
- next
- WScript.Echo str
复制代码
作者: 随风 时间: 2009-5-9 13:18 标题: 回复 8楼 的帖子
奇怪我的怎么不行?
作者: 随风 时间: 2009-5-9 16:46
这段vbs的结果中难道有不可见字符?
我不用call 给变量赋值的话,第一行就怎么也对不齐。
- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1* delims==" %%a in ('cscript /nologo tem.vbs') do (
- call set "str=%%a "
- if not "%%b"=="" echo. !str:~0,15! = %%b
- )
- pause
- exit
复制代码
tem.vbs
- num=array(1.382,1.5,1.618,2,2.382,2.5,2.618)
- n=inputbox("Input a num")
- for i=0 to ubound(num)
- str=str&n&"*"&num(i)& "= "&n*num(i)&chr(10)&chr(13)
- next
- WScript.Echo str
复制代码
[ 本帖最后由 随风 于 2009-5-9 16:47 编辑 ]
作者: 随风 时间: 2009-5-9 16:48
真是奇怪了,call set "str=%%a " 始终无法在一行中显示,是论坛的原因吗?
彻底晕了。。。
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('cscript /nologo tem.vbs') do (
- echo [前] %%a [后]
- )
- pause
复制代码
只显示一个 “前”
[ 本帖最后由 随风 于 2009-5-9 16:55 编辑 ]
作者: yslyxqysl 时间: 2009-5-9 17:05
Integer不是整数就有问题
作者: 随风 时间: 2009-5-9 19:30
问题是解决了,采用的2楼的方案,谢谢大家。。。
作者: batman 时间: 2009-5-9 21:46
哈哈,随风兄也对vbs起了兴趣了。
的确,用vbs+批处理比单用批处理强了N倍。
作者: cmbatd 时间: 2009-5-14 18:21 标题: 回复 9楼 的帖子
还是不明白~~1.5和2.5就那么特殊,后面一个也没有?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |