Board logo

标题: 一个产生存款积数问题 [打印本页]

作者: haiyuey     时间: 2009-9-30 12:34    标题: 一个产生存款积数问题

想根据明细产生每日积数,明细举例如下:

序号,日期,帐号,余额
1,2009-9-30,111111,100.88
2,2009-10-2,111111,118.88
3,2009-10-8,111111,222.22
产生如下结果:
2009-9-30,111111,100.88
2009-10-1,111111,100.88
2009-10-2,111111,118.88
2009-10-3,111111,118.88
2009-10-4,111111,118.88
2009-10-5,111111,118.88
2009-10-6,111111,118.88
2009-10-7,111111,118.88
2009-10-8,111111,222.22
请高手指点!!!

[ Last edited by haiyuey on 2009-9-30 at 13:32 ]
作者: 523066680     时间: 2009-9-30 13:08
你把这句话去掉“批处理能做到吗”
呼呼,我日历学的不好,那个2月什么时候29天  什么时候28天……

[ Last edited by 523066680 on 2009-9-30 at 13:12 ]
作者: wxcute     时间: 2009-9-30 17:12

::不考虑跨年问题
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1* delims=," %%k in (M.ini)do (
 for /f "tokens=1-3* delims=-," %%a in ("%%l")do (
  if not defined _%%a set _%%a=%%a&call :JugY %%a
  set "_%%a_%%b_%%c=%%d"
  set Last=_%%a_%%b_%%c
 )
)
for %%m in (31 %Feb% 31 30 31 30 31 31 30 31 30 31)do (
 set/a Mth+=1
 for /l %%d in (1 1 %%m)do (
  set SW=_%year%_!Mth!_%%d
  if defined !SW! set Flag=!SW!
  if defined Flag call :SH %year%-!Mth!-%%d !Flag!
  if !SW!==%Last% goto :end
 )
)
:end
pause
goto :eof
:JugY
 set year=%1
 set/a leap="^!(year%%4)^^(^!(year%%100)^^^!(year%%400))",Feb=leap+28
 goto :eof
:SH
 echo %1,!%2!

作者: haiyuey     时间: 2009-9-30 17:34
谢谢,但我需要跨年的
作者: wxcute     时间: 2009-9-30 17:42
自己改改好了。