中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 18:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [讨论][分享]利用批处理进行加减乘除运算
楼 主 [讨论][分享]利用批处理进行加减乘除运算 发表于 2007-03-14 01:12 ·  中国 广东 广州 番禺区 电信
中级用户
★★
脚本爱好者
积分 238
发帖 93
注册 2007-03-11 13:38
UID 81417
性别 男
来自 GZ
状态 离线
利用VBS脚本,可以进行加减乘除运算,用批处理也可以进行数学运算吗?

dim a,b,s
a=inputbox("请输入第一个数:","加法器")
b=inputbox("请输入第二个数:","加法器")
s=int(a)+int(b)
msgbox(s)

dim a,b,s
a=inputbox("请输入第一个数:","减法器")
b=inputbox("请输入第二个数:","减法器")
s=a-b
msgbox(s)

dim a,b,s
a=inputbox(msg,"乘法器","请在这里输入第一个数")
b=inputbox(msg,"乘法器","请在这里输入第二个数")
s=a*b
msgbox(s)

dim a,b,s
a=inputbox(msg,"除法器","请在这里输入第一个数")
b=inputbox(msg,"除法器","请在这里输入第二个数")
s=a/b
msgbox(s)

[ Last edited by axi on 2007-4-11 at 09:35 PM ]
2 发表于 2007-03-14 01:27 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
UID 73417
性别 男
状态 离线
好像结果不对啊
3 发表于 2007-03-14 01:57 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
一起讨论过的啊~纯用p + - * / 都可以算,开方不行
4 发表于 2007-03-14 02:09 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
加减乘除混合运算都可以还可以设定小数精度(现设定为2位)
如:1+3*(5-6)/5
N次方:9^^3
开方:9^^(1/2)

@echo off
:Start
cls
echo.
set Sums=
set /p Sums= 请输入算式:
if not defined Sums exit
>Sums.vbs echo Sums = %Sums%
>>Sums.vbs echo Wscript.Echo " 算式:",wscript.arguments(0) + "=" + FormatNumber(Sums,2,-1,-1,0)
echo.
cscript //nologo Sums.vbs %Sums%
del Sums.vbs
echo.
pause
goto Start


[ Last edited by zh159 on 2007-3-13 at 01:12 PM ]
5 发表于 2007-03-14 02:31 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  结果好像不对:

请输入算式: 2-5*2+6-9

算式: 2-5*2+6-9=(11.00)

请按任意键继续. . .
6 发表于 2007-03-14 02:37 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
iCalc.bat:


:'Code by est@CN-DOS
:On Error Resume Next
:Sub bat
echo off & cls
echo '>nul & cmd /kCscript //e:vbscript //NoLogo "%~f0" %*
Exit Sub:End Sub
WScript.Echo eval(WScript.Arguments(0))


测试:
iCalc.bat 1+1
2

iCalc.bat 3.14/7
.448571428571429

iCalc.bat sin(1)+sqr(2)
2.25568454718099

收工,闪人。
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
vkill +2 2007-03-14 02:44

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
7 发表于 2007-03-14 02:43 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
交给awk去计算



@echo off
:Start
cls
echo.
set Sums=
set /p Sums= 请输入算式:
if not defined Sums exit
set/p= 计算结果=<nul
echo.|gawk "{print %Sums%}"
pause>nul
goto Start
8 发表于 2007-03-14 02:49 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
数字相同,只是负号便成了括号-_-|||
9 发表于 2007-03-14 02:54 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  用 Windows PowerShell 1.0 ,在CMD命令行执行:

powershell 7*8-9+(3+4)*2
61

powershell 7/8
0.875

powershell 1/3
0.333333333333333

powershell 45.7*32
1462.4
10 发表于 2007-03-14 02:59 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
呵呵,ztm的好啊~百花齐放,好久没有这个“气氛”了
11 发表于 2007-03-14 03:10 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

::MCalc.bat
@echo off
if "%1"=="" exit
mshta vbscript:msgbox(%1)(window.close)
附件
MCalc.JPG
12 发表于 2007-03-14 04:56 ·  中国 广东 广州 番禺区 电信
中级用户
★★
脚本爱好者
积分 238
发帖 93
注册 2007-03-11 13:38
UID 81417
性别 男
来自 GZ
状态 离线
都是P高人,小弟正在努力学习。
论坛跳转: