我是靠谱客的博主 迷你书包,最近开发中收集的这篇文章主要介绍C语言编程:数字金额转换为中文大写金额,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

先生,这个代码在Linux下用gcc编译通过了。
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <locale.h>
wchar_t cstrs[10];
wchar_t bit[10];
int main()
{
cstrs[0]=0x96F6;cstrs[1]=0x58F9;cstrs[2]=0x8D30;
cstrs[3]=0x53C4;cstrs[4]=0x8086;cstrs[5]=0x4F0D;
cstrs[6]=0x9678;cstrs[7]=0x67D2;cstrs[8]=0x634C;
cstrs[9]=0x7396;
bit[0]=0x5706;bit[1]=0x62FE;bit[2]=0x4F70;
bit[3]=0x4EDF;bit[4]=0x842C;bit[5]=0x62FE;
bit[6]=0x4F70;bit[7]=0x4EDF;bit[8]=0x5104;
bit[9]=0x62FE;bit[10]=0x4F70;bit[11]=0x4EDF;
bit[12]=0x842C;
setlocale(LC_ALL, "");
double innum;
int k=0; int tmp=1;
scanf("%lf", &innum);
while(tmp<innum){
k+=1; tmp*=10;
}
if(tmp>innum){k--; tmp=tmp/10;}
if(k<0){k=0, tmp=1;}
int e, ee, t=0;
e=(int)innum;
while(e>=1){
ee = (int)e/tmp;
if(ee!=0){
if(t){
printf("%lc",cstrs[0]);
t=0;
}
printf("%lc", cstrs[ee]);
printf("%lc", bit[k]);
} else {
t=1;
if(k==8 || k==4)printf("%lc",bit[k]);
}
k--; e=e%tmp; tmp=tmp/10;
}
long et;
et=(long)(innum*10); printf("%lc%lc",cstrs[et%10], 0x89D2);
et=(long)(innum*100); printf("%lc%lc",cstrs[et%10], 0x5206);
puts("");
return 0;
}
例如:
输入:
256000023.22
输出:
贰亿伍仟陆佰万零贰拾叄圆贰角贰分


最后

以上就是迷你书包为你收集整理的C语言编程:数字金额转换为中文大写金额的全部内容,希望文章能够帮你解决C语言编程:数字金额转换为中文大写金额所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部