del_right(char *s) //去掉右空格
{
char *p;
p=s;
for(p+=strlen(s)-1;*p==' ';p--);
*(p+1)=0;
}
del_left(char *s) //去掉左空格
{
char *p1, *p2;
p1=p2=s;
while(*p2==' ') p2++;
while(*p1++=*p2++);
}
change_upper(char *s) //转换小写字符串为大写
{
int length, i;
length = strlen(s);
for (i=0; i<length; i++)
{
s[i] = toupper(s[i]);
}
//printf("%s\n",s);
return 0;
}
change_lower(char *s) //转换大写字符串为小写
{
int length, i;
length = strlen(s);
for (i=0; i<length; i++)
{
s[i] = tolower(s[i]);
}
//printf("%s\n",s);
return 0;
}
go_right(char *s,int len) //将客户名称补足len位
{
int i=0,j=len-strlen(s);
char *p;
p=s;
for(p+=strlen(s)-1;i<=j;i++,*(p+i)=' ');
*(p+i)='\0';
}
#include <stdio.h>
/****************************************************
函 数 名: xxtodx(a,b)
功 能: 将小写数字金额转换成大写汉字金额
入口参数: a 小写数字字串(不含小数点,扩大100倍)
b 转换后的大写汉字字串
****************************************************/
xxtodx(a,b)
char *a,*b;
{
int i,bz,wz,m;
double je,je1,j;
static char *dw[13]={"佰","拾","亿","仟","佰","拾","万","仟",
"佰","拾","元","角","分"};
static char *dx[10]={"零","壹","贰","叁","肆","伍","陆","柒",
"捌","玖"};
static char *z={"整"};
if (strlen(a)==0) je=0; /* 字串长度为0,金额为0 */
else je=atof(a); /* 将字串转换成双精度 */
i=0;bz=0;wz=1;je1=je;
if (je==0) { strcpy(b,dx[0]); b+=2; } /* 输出为零 */
else
{ for(j=1000000000000.00;j>=1.00;j/=10.00)
{ m=je/j; /* 取整得到第一个数字 */
je=je-m*j;
if (m>0) /* 若有数字 */
{ if (bz==2) /* 若干个0输出一个零 */
{ strcpy(b,dx[0]); b+=2; }
strcpy(b,dx[m]); /* 输出汉字数字 */
b+=2;
strcpy(b,dw[i]); /* 输出金额单位 */
b+=2;
bz=1; /* 挂起零标志 */
}
else
{
if ((i==2)&&(je1>=10000000000.00))
{ strcpy(b,dw[i]); b+=2; } /* 输出"亿"字 */
if (i==3) wz++;
if (i==4) wz++;
if (i==5) wz++;
if ((i==6)&&(je1>=1000000.00)&&(wz!=4))
{ strcpy(b,dw[i]); b+=2; }/* 输出"万"字 */
if ((i==10)&&(je1>=100))
{ strcpy(b,dw[i]); b+=2; }/* 输出"元"字 */
if (i==12)
{ strcpy(b,z); b+=2;} /* 若无"分",输出"整"字 */
if ((i!=0)&&(i!=12)&&(bz!=0)) bz=2; /*激活零标志 */
}/* of else */
i++;
}/* of for() */
}/* of else */
}
del_LR_flag(s,LR,flag) //从LorR方向删除s的flag字符
char *s,LR,flag;
{
int i,j;
switch (LR){
case 'L':
for(i=0,j=0;i<strlen(s);i++){
if(s[i]==flag && j==0) continue;
s[j]=s[i];
j++;
}
s[j]='\0';
break;
case 'R':
for(i=strlen(s)-1;i>=0;i--){
if(s[i]!=flag) break;
}
substr(s,s,1,i+1);
break;
default:return(-1);
}
return 0;
}
posted on 2005-03-10 14:30
痛比快乐多 阅读(85)
评论(0) 编辑 收藏