中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 14:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于变量的运算 查看 770 回复 3
楼 主 关于变量的运算 发表于 2008-09-05 12:13 ·  中国 湖北 武汉 电信
初级用户
积分 40
发帖 17
注册 2008-08-27 16:32
17年会员
UID 124308
性别 男
状态 离线
for /f "delims=.' tokens=5 " %%i in (valfile1.txt) do (
set aaaaa=%%i
)
echo %aaaaa%
我先从文件中获取了数值0024

set /a aaaaa+=1
然后做+1运算

echo %aaaaa%的结果是21
-----------------------------------------------------------
为什么是这样?
我需要结果是0026,怎么做?
2 发表于 2008-09-05 12:56 ·  中国 上海 浦东新区 电信
中级用户
★★
积分 484
发帖 250
注册 2007-06-05 23:33
19年会员
UID 90372
性别 男
状态 离线
因为取的数字前面有00,被认成了8进制,8进制的24是十进制的20,所以再自增1就是21了

你需要先把提出的数字去掉前置的0,再进行运算
3 发表于 2008-09-05 12:58 ·  中国 江苏 苏州 中移铁通
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
@echo off
set a=0024
set/a b=100%a%%%100
set/a b=b+1
echo %b%
pause
4 发表于 2008-09-05 13:17 ·  中国 湖北 武汉 电信
初级用户
积分 40
发帖 17
注册 2008-08-27 16:32
17年会员
UID 124308
性别 男
状态 离线
哦~明白了
看来是疏忽了,谢谢啦
论坛跳转: