龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

数字转换为中文大写

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
//******************************************************** // 模块:数字转换为中文大写 #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-失败,数据超过处理范围
//************************************************************

精彩图集

赞助商链接