![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 13:00 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]请教如何将字符转换成数字的问题 |
| 可打印版本 4,589 / 20 |
| 第1楼 smileseeker | 发表于 2006-04-09 12:40 |
| 中级用户 发帖 83 积分 316 | |
|
[已结]请教如何将字符转换成数字的问题 如有:
0005 0020 0036 0303 如何将以上各个字符串转换成 5 20 36 303 平台:WINXP [ Last edited by willsort on 2006-4-10 at 12:46 ] |
|
| 第2楼 chenhui530 | 发表于 2006-04-09 13:27 |
| 高级用户 发帖 273 积分 772 | |
|
set a=0005
set /a b=%a%+0 echo %b% set c=0020 set /a d=%c%+0 echo %d% set e=0036 set /a f=%e%+0 echo %f% set g=0303 set /a h=%g%+0 echo %h% |
|
| 第3楼 smileseeker | 发表于 2006-04-09 17:10 |
| 中级用户 发帖 83 积分 316 | |
|
谢谢 !
原来这样也行,厉害 |
|
| 第4楼 smileseeker | 发表于 2006-04-09 17:31 |
| 中级用户 发帖 83 积分 316 | |
|
还是发现一个问题
当数字8,9前有0时就不行了 也就是8进制的表示问题 |
|
| 第5楼 chenhui530 | 发表于 2006-04-09 18:14 |
| 高级用户 发帖 273 积分 772 | |
|
其实还可以这样的%a:0=%
比如 set a=0008 set b=%a:0=% echo %b% |
|
| 第6楼 willsort | 发表于 2006-04-09 18:42 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re chenhui530:
set b=%a:0=% 仍然存在问题,比如对 0020 的处理。 对于长度固定为4的数字串,可以考虑以下方案: set n=0020 set /a n=1%n%-10000 |
|
| 第7楼 chenhui530 | 发表于 2006-04-09 19:06 |
| 高级用户 发帖 273 积分 772 | |
|
呵呵
好久没看到willsort兄了 |
|
| 第8楼 smileseeker | 发表于 2006-04-09 19:16 |
| 中级用户 发帖 83 积分 316 | |
|
谢谢二位!!!问题解决了
小弟的字符串刚好都是一样的位数 |
|
| 第9楼 doscc | 发表于 2006-04-10 11:17 |
| 中级用户 发帖 93 积分 256 来自 广东 | |
|
2楼.兄弟 和 6楼版主
的思路不错啊. 把数字字符串 通过加减运算来去掉不用的0 |
|
| 第10楼 kcdsw | 发表于 2006-04-10 20:23 |
| 中级用户 发帖 179 积分 404 | |
|
别急着结啊,我这还有问题呢 这个就可以用了,但是还有点小问题没搞定呢 希望大家给点思路 我的文件都是四位数字前面还有字符的 比如 20060410190040_ps_p0040.pdf 或者 农电全文最新_ps_p0021.pdf 执行的时候如果说这个文件主名本身不够4个字符的时候就会出错(因为我已经执行过一次,执行过的文件主名都不到4位了,它执行到set name=%name:~-5%)的时候就出错了 [ Last edited by kcdsw on 2006-4-10 at 20:27 ] |
|
| 第11楼 无奈何 | 发表于 2006-04-10 23:47 |
| 荣誉版主 发帖 356 积分 1,338 | |
|
TO: kcdsw
可以尝试下面的代码.
根据 willsort 兄的提醒修正了一下,请注意第三行与 kcdsw 兄原帖的区别。 [ Last edited by 无奈何 on 2006-4-14 at 19:04 ] |
|
| 第12楼 kcdsw | 发表于 2006-04-11 13:12 |
| 中级用户 发帖 179 积分 404 | |
|
呵呵 首先谢谢无奈何兄
不过我这里的文件有个特点,后面都是四位的数字,而前面的字符不定有可能有2个或者3个以上的下划线 唯一能摸到规律的就是后四位数字. pdf是与页面相关的,每个文档是一页,每个数字是与其相关的页码 一般书不会超过9999页(至少我这里没有),所以没考虑10000页及其上的页面的容错 刚用无奈何兄写的pdf大概测试了一下,存在一个问题 文件名会被改错掉 |
|
| 第13楼 xuantian | 发表于 2006-04-11 15:49 |
| 高级用户 发帖 282 积分 587 | |
|
干嘛非得用批处理不可,用UE32或者ACDSee都是非常方便的
|
|
| 第14楼 kcdsw | 发表于 2006-04-11 19:51 |
| 中级用户 发帖 179 积分 404 | |
|
是在执行其他的bat的时候调用它
|
|
| 第15楼 GOTOmsdos | 发表于 2006-04-11 21:21 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
用C的 atoi 写个小程序就结啦!
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |