您当前的位置: 首页 > 

一个将阿拉伯数字转换为中文数字近似读法的程序

发布时间:2012-12-02 20:56:36 ,浏览量:0

    偶尔突发奇想,写了一个将阿拉伯数字转换为中文数字近似值的程序:

#include 
#include 
#include 
#include 
#include 
#include 

const char *ChineseNum[] = {"零","一","二","三","四",\
	"五","六","七","八","九","十"};
	
const char *ChineseUnit[] = \
	{"千","百","十","万","亿","兆"};

bool GetPreFix(const char *src,char *back)
{
	if(!src || !back)
		return false;
	
	int count = strlen(src)-1,prefixcount = count%4,lastpos=0;
	for(int i=0;i0)
			strcat(back,ChineseUnit[5]);
		break;
	}
	return true;
}

void ShowChineseNearNum(const char *src)
{
	if(!src)
	{
		printf("[%s]err : src == NULL\n",__func__);
		return;
	}
	
	char backpre[] = {[128]=0};
	char backpost[] = {[128]=0};
	
	GetPreFix(src,backpre);
	GetPostFix(src,backpost);
	
	printf("%s 大约等于 %s%s\n",src,backpre,backpost);
}

int main(int argc,char *argv[])
{	
	if(argc != 2)
	{
		printf("usage : %s number\n",argv[0]);exit(1);
	}
	ShowChineseNearNum(argv[1]);
	return 0;
}

D:\Work\SRC\c_src>cnn 124467899868068698758654675785597868968976756485967 124467899868068698758654675785597868968976756485967 大约等于 一百二十四十兆兆兆 兆

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    107766博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.1303s