📄 svrf333.ec
字号:
/******************************/
/*预算贷款利息函数 */
/******************************/
#include <stdio.h>
#include <stdlib.h>
SvrF333(int argc,char *argv[])
{
char cInitDate[9],cEndDate[9],cRetDate[9];
double vdTradeAmt,vdLoanPer,vdOverPer,vdInterest1,vdInterest2;
long vlInitDate,vlEndDate,vlRetDate,vlTmpDate;
char vcInDays[5],vcOverDays[5],vcInterest1[17],vcInterest2[17];
int viInteDays,viOverDays,viWeek;
sprintf(cInitDate,"%s",argv[0]);
sprintf(cEndDate,"%s",argv[1]);
sprintf(cRetDate,"%s",argv[2]);
vdTradeAmt=atof(argv[3]);
vdLoanPer=atof(argv[4]);
vdOverPer=atof(argv[5]);
WriteTest("svrf333:InitDate[%s]EndDate[%s]RetDate[%s]TradeAmt[%16.2f]\n",cInitDate,cEndDate,cRetDate,vdTradeAmt);
rdefmtdate(&vlInitDate,"yyyymmdd",cInitDate);
rdefmtdate(&vlEndDate,"yyyymmdd",cEndDate);
rdefmtdate(&vlRetDate,"yyyymmdd",cRetDate);
viWeek=rdayofweek(vlEndDate);
vlTmpDate=vlEndDate;
WriteTest("svrf333:Week[%d]\n",viWeek);
/*贷款到期日在星期六日不算逾期*/
if(viWeek==6)
vlTmpDate+=2;
if(viWeek==0)
vlTmpDate+=1;
if(vlTmpDate==vlRetDate)
vlEndDate=vlTmpDate;
viInteDays=0;
viOverDays=0;
vdInterest1=0;
vdInterest2=0;
GetInteDays(vlInitDate,vlEndDate,vlRetDate,&viInteDays,&viOverDays);
WriteTest("svrf333:InteDays[%d]OverDays[%d]\n",viInteDays,viOverDays);
if(vlEndDate>=vlRetDate)
{/*贷款期内*/
vdInterest1=vdTradeAmt*(viInteDays-viOverDays)*vdLoanPer/30000;
}
else
{/*逾期*/
vdInterest1=vdTradeAmt*(viInteDays-viOverDays)*vdLoanPer/30000;
vdInterest2=vdTradeAmt*viOverDays*vdOverPer/30000;
}
sprintf(vcInDays,"%4d",viInteDays-viOverDays);
sprintf(vcOverDays,"%4d",viOverDays);
sprintf(vcInterest1,"%16.2f",vdInterest1);
sprintf(vcInterest2,"%16.2f",vdInterest2);
CreateStruct("期内天数",vcInDays);
CreateStruct("逾期天数",vcOverDays);
CreateStruct("期内利息",vcInterest1);
CreateStruct("逾期利息",vcInterest2);
CreateStruct("返回码","000");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -