中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 05:14
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理计算小数
可打印版本  1,039 / 10
第1楼 pusofalse 发表于 2008-07-21 20:13
银牌会员 发帖 646 积分 1,604
批处理计算小数
被除数与除数可支持输入小数,没有进行过多的排错处理,CMD所能处理的最大数值等问题,依旧存在,代码也比较臃肿,初步测试无出错。欢迎赐教!~

第2楼 bat-zw 发表于 2008-07-21 20:31
金牌会员 发帖 1,276 积分 3,105
未及细看,只是觉得兄弟变量清空可以简化(当然要涉及到修改下面的代码):
for /f "delims==" %%i in ('set _') do set "%%i=" ,代码是有点。。。

[ Last edited by zw19750516 on 2008-7-21 at 09:53 PM ]
第3楼 pusofalse 发表于 2008-07-21 20:36
银牌会员 发帖 646 积分 1,604
不明白。。。
set "_*="
具体怎样才能清空变量?
第4楼 bat-zw 发表于 2008-07-21 20:38
金牌会员 发帖 1,276 积分 3,105
Originally posted by pusofalse at 2008-7-21 20:36:
不明白。。。
搞错了,应该是 for /f "delims==" %%i in ('set _') do set "%%i="
具体怎样才能清空变量?

把你的变量都设置成set _*=,如set "_%n%=%n%"

[ Last edited by zw19750516 on 2008-7-21 at 09:53 PM ]
第5楼 523066680 发表于 2008-07-21 20:41
银牌会员 发帖 1,133 积分 2,362
清空变量应该就是 直接set n=吧
第6楼 pusofalse 发表于 2008-07-21 20:49
银牌会员 发帖 646 积分 1,604
Originally posted by zw19750516 at 2008-7-21 08:38 PM:

把你的变量都设置成set _*=,如set "_%n%=%n%"

[ Last edited by zw19750516 on 2008-7-21 at 08:45 PM ]


受教!
第7楼 bat-zw 发表于 2008-07-21 20:50
金牌会员 发帖 1,276 积分 3,105


[ Last edited by zw19750516 on 2008-7-21 at 09:52 PM ]
第8楼 pusofalse 发表于 2008-07-21 21:04
银牌会员 发帖 646 积分 1,604
我发现在每个变量前加_ 连清空变量的for语句 一共增加了几十个字符,减去我的那种清空变量方法的字符数,还是多出几十个。。。
看来这种方法只是对清空变量简洁 对于整个代码来说,又繁杂了一点。。
第9楼 bat-zw 发表于 2008-07-21 21:06
金牌会员 发帖 1,276 积分 3,105
如果你有上万个要清空的变量呢?
第10楼 26933062 发表于 2008-07-21 21:11
银牌会员 发帖 879 积分 2,268
太多的变量需清空时最好 调整代码 用 setlocal 和 endlocal 是最理想的。
第11楼 pusofalse 发表于 2008-07-21 21:12
银牌会员 发帖 646 积分 1,604
嗯 有道理。。。
如果变量上百上千个,这种方法的确简洁。但这个批处理大小恐怕到了几M或者十几M。。。 一般的机器运行不了。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023