中国DOS联盟论坛

中国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