中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 请教加减运算! 上一主题 | 下一主题
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 16 楼』:  

初学AU3,用它给你写一个,思路跟BAT的相同。。。
if fileexists ("new.txt") then filedelete ("new.txt")
$file = Fileopen("a.txt",0)
dim $var1,$var2, $str[2], $num1, $num2,$enkey=@crlf,$numeric1, $numeric2

while 1
        $str = FilereadLine($file)
        if @error = -1 then exitloop
        $str = StringSplit ($str, ",")
        $num1 += 1
        $numeric1 +=1
        $num2 = $num1 - 1
        $numeric2 = $numeric1 - 1
        assign ($num1, $str[1])
        assign ("_" & $numeric1,$str[2])
        $s = eval ($num1)
        $d = eval ("_" & $numeric1)
        $a = eval ($num2)
        $e = eval ("_" & $numeric2)
        if $num1 > 1 then
           $var1 = $s - $a
           $var2 = $d - $e
           filewrite ("new.txt",$var1 &","&$var2 &$enkey)
        endif
wend




心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-10-25 21:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
youkaib
初级用户





积分 61
发帖 22
注册 2008-10-19
状态 离线
『第 17 楼』:  



  Quote:
Originally posted by 3391617 at 2008-10-25 17:23:
我测试一下看看

我不是说了你记事本存在小数的问题吗,你可以直接下cmd下写
set /a a=1.2-1.1
就会出现这个提示。
由于赋予变量会将整个a.txt的值赋予他,所以必须将他们隔开。

2008-10-26 12:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3391617
初级用户




积分 116
发帖 56
注册 2007-3-7
状态 离线
『第 18 楼』:  

有办法计算小数的
我翻过帖子
看到过



QQ=3391617
2008-10-26 18:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shqf
初级用户





积分 35
发帖 18
注册 2008-8-10
状态 离线
『第 19 楼』:  

都是三位小数的话,可用如下程序:
@echo off&setlocal EnableDelayedExpansion
cd.>b.txt 2>nul
for /f "tokens=1,2 delims=," %%a in (a.txt) do (
if defined num1 (
set num3=%%a
set num4=%%b
set num3=!num3:.=!
set num4=!num4:.=!
set /a cha1=num3-num1
call :jiance !cha1!
set cha1=!cha!
set /a cha2=num4-num2
call :jiance !cha2!
set cha2=!cha!
set "cha1=!cha1:~0,-3!.!cha1:~-3,3!"
set "cha2=!cha2:~0,-3!.!cha2:~-3,3!"
echo !cha1!,!cha2!>>b.txt
)
set num1=%%a
set num2=%%b
set num1=!num1:.=!
set num2=!num2:.=!
)
echo OK.&pause
exit

:jiance
set cha=%1
if "%cha:~0,1%"=="-" (set fuhao=-&set cha=%cha:~1%) else (set fuhao=)
if %cha% lss 10 (set cha=%fuhao%000%cha%&goto :eof)
if %cha% lss 100 (set cha=%fuhao%00%cha%&goto :eof)
if %cha% lss 1000 (set cha=%fuhao%0%cha%&goto :eof)
set cha=%fuhao%%cha%
goto :eof
[ Last edited by shqf on 2008-10-26 at 20:44 ]

2008-10-26 20:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3391617
初级用户




积分 116
发帖 56
注册 2007-3-7
状态 离线
『第 20 楼』:  

TO:19楼
测试可以!
小数整数都没有限制的版本可以做到不呢?
我先研究研究你这个,谢谢各位的帮助了!不胜感激!



QQ=3391617
2008-10-26 22:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 21 楼』:  Re 20楼

BAT调用VBS来计算吧



2008-10-26 22:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: