数字转换为中文大写(2)
BOOL Num2UpDigit(long num,char *buf)
{
long level1,level2,level3;
char level1buf[17]={0},level2buf[17]={0},level3buf[17]={0};
int p=0;
level1=num%10000;
num/=10000;
level2=num%10000;
num/=10000;
level3=num;
if(num/10000) return FALSE;//超过数据处理范围
//将数据分成三级
if(level1) GetLevelText(level1,level1buf);
if(level2) GetLevelText(level2,level2buf);
if(level3) GetLevelText(level3,level3buf);
if(level3){
for(int i=strlen(level3buf)-2;i>=0;i-=2)
{
memcpy(buf+p,level3buf+i,2);
p+=2;
}
memcpy(buf+p,unit2[1],2);//级别单位
p+=2;
}
if(level2){
if(level3&&level2/1000==0)//加零
{
memcpy(buf+p,digital[0],2);
p+=2;
}
for(int i=strlen(level2buf)-2;i>=0;i-=2)
{
memcpy(buf+p,level2buf+i,2);
p+=2;
}
memcpy(buf+p,unit2[0],2);//级别单位
p+=2;
}else if(level3&&level1)//加零
{
memcpy(buf+p,digital[0],2);
p+=2;
}
if(level1){
if((level2||level3)&&level1/1000==0&&!(level3&&!level2))//加零
{
memcpy(buf+p,digital[0],2);
p+=2;
}
for(int i=strlen(level1buf)-2;i>=0;i-=2)
{
memcpy(buf+p,level1buf+i,2);
p+=2;
}
}
buf[p]=0;
return TRUE;
}
- 上一篇:使用设计模式构建通用数据库访问类
- 下一篇:用 API 作简繁体转换
- 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)_MySQL 技术_龙盟编程网
- 如何应用PHP函数imagettftext处理图片_php编程_个人技术分享
- 在ASP.Net中应用Javascript_Javascript编程_龙盟编程网
- 查询反向链接中link和domain的区别_SEO优化_龙盟编程网
- sql 查询本年、本月、本日记录的语句,附SQL日期函数_Sql Server开发_龙盟编程网
- Android定时器实现的几种方式整理及removeCallbacks失效问题解决_Android开发_龙盟编程网
- 如何解决C语言,函数名与宏冲突_C/C++开发_龙盟编程网