为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

数字大写

2017-10-25 5页 doc 17KB 12阅读

用户头像

is_348501

暂无简介

举报
数字大写数字大写 //******************************************************** // 模块:数字转换为中文大写 #include "stdafx.h" static char *unit1[] = { "拾", "佰", "仟" }; static char *unit2[] = { "万", "亿" }; static char *digital[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; /...
数字大写
数字大写 //******************************************************** // 模块:数字转换为中文大写 #include "stdafx.h" static char *unit1[] = { "拾", "佰", "仟" }; static char *unit2[] = { "万", "亿" }; static char *digital[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; //****************************************************** // 功能:将万以内的数据转换成字符,字符串与阅读方面相反 // long level[in]:要转换的数据 // char *buf[out]:字符输出 // 备注:内部函数 //****************************************************** static void GetLevelText(long level,char *buf) { int digit; BOOL bPreZero=FALSE; BOOL bZeroValidate=FALSE; int i=0; int unit=-1; while(level) { digit=level%10; if(digit) { if(bPreZero&&bZeroValidate) { strcat(buf,digital[0]); i+=2; } if(unit!=-1) // buf[i++]=unit1[unit]; //unit { strcat(buf,unit1[unit]); i+=2; } strcat(buf,digital[digit]); i+=2; bPreZero=FALSE; bZeroValidate=TRUE; } else { bPreZero=TRUE; } unit++; level/=10; } buf[i]=0; } //************************************************************ // 功能:数据转换成中文字符 // long num[in]:要转换的数据 // char *buf[out]:字符输出 // 返回值:TRUE-转换成功,FALSE-失败,数据超过处理范围 //************************************************************ 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; }
/
本文档为【数字大写】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索