![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 17:21 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 数值计算之分数变换小数(批处理) |
| 可打印版本 1,481 / 5 |
| 第1楼 my3439955 | 发表于 2007-04-23 00:23 |
| 中级用户 发帖 99 积分 272 | |
|
数值计算之分数变换小数(批处理) |
|
| 第2楼 my3439955 | 发表于 2007-04-23 00:26 |
| 中级用户 发帖 99 积分 272 | |
|
中括号包围的部分是循环体
![]() [ Last edited by my3439955 on 2007-4-23 at 02:19 AM ] |
|
| 第3楼 bjsh | 发表于 2007-04-23 01:27 |
| 银牌会员 发帖 621 积分 2,000 | |
|
先鼓励下;
这是个bug;用25/5试下; The result of expression "0/5" is 5; 被除数 不能大于10^9 下面这个链接是我以前写过的一个: 被除数和结果理论上可以无限位; 可以自己决定欲精确的位数;最后一位四舍五入; 不过没解决 除数大于10^9的;lz可以尝试下突破这个. http://www.cn-dos.net/forum/viewthread.php?tid=29097&fpage=1&highlight=BJSH&page=2 这个第26楼 |
|
| 第4楼 my3439955 | 发表于 2007-04-23 02:07 |
| 中级用户 发帖 99 积分 272 | |
|
你的代码很不错
加上判断循环的话似乎就不必在乎显示位数了,因为到了一定的位数必然循环.当除数为N时,这个位数最大是N-1 |
|
| 第5楼 my3439955 | 发表于 2007-04-23 02:17 |
| 中级用户 发帖 99 积分 272 | |
|
无论除数还是被除数是零,结果都是显而易见的,因此被归结为错误输入,0/5被要求重新输入
25/5是有一点小问题,问题在于这一句 if %tool%==0 echo The result of expression "%N%/%D%" is %int_part% && goto :EOF 这里判断整除之后没有用pause暂停而直接退出了 应该把goto :EOF改成goto :end %N%应该改为%NN% 处理参数的代码也要改变一下 修改后的代码如下 运行结果 ![]() [ Last edited by my3439955 on 2007-4-23 at 02:33 AM ] |
|
| 第6楼 vkill | 发表于 2007-04-24 00:14 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
我想用位运算可以
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |