c++一维数组形式完成人民币小写转大写

如题所述

1、下面这个函数是可以实现小写的数字转换成大写了,已经测试过了


CString ChineseCapitalMoney(double Num)

{

  CString szChMoney,szNum; 

  int iLen, iNum, iAddZero=0;

  TCHAR* hzUnit[18]=  {_T("分"),_T("角"),_T("元"),_T("拾"),_T("佰"),_T("仟"),_T("万"),_T("拾"),_T("佰"),_T("仟"),_T(" 亿"),_T("拾"),_T("佰"),_T("仟"),_T("万"),_T("拾"),_T("佰"),_T("仟")};

TCHAR* hzNum[10]={_T("零"),_T("壹"),_T("贰"),_T("叁"),_T("肆"),_T("伍"),_T("陆"),_T("柒"),_T("捌"),_T("玖")};

szNum.Format(_T("%18.0f"), Num*100); //只是到分

szNum.TrimLeft();

iLen=szNum.GetLength();

if(iLen>15 || iLen==0 || Num<0)return ""; //数据错误返回


for(int i=0;i<iLen;i++)

{

iNum=_ttoi((LPCTSTR)szNum.Mid(i,1));

if(iNum==0)//如果为0

iAddZero++;

else

{

if(iAddZero>0) 

szChMoney+=_T("零");

szChMoney+=hzNum[iNum];//转换为相应的数字

iAddZero=0;

}   

if(iNum!=0||iLen-i==3||iLen-i==11||((iLen-i+1)%8==0&&iAddZero<4))

szChMoney+=hzUnit[iLen-i-1];//添加相应的汉字

}

if(szNum.Right(2)==_T("00")) //没有角和分

szChMoney+=_T("整");

return szChMoney;

}

温馨提示:内容为网友见解,仅供参考
无其他回答

c++一维数组形式完成人民币小写转大写
1、下面这个函数是可以实现小写的数字转换成大写了,已经测试过了 CString ChineseCapitalMoney(double Num){ CString szChMoney,szNum;int iLen, iNum, iAddZero=0;TCHAR* hzUnit[18]= {_T("分"),_T("角"),_T("元"),_T("拾"),_T("佰"),_T("仟"),_T("万"),_T("拾"),_...

c++ 人民币小写转大写
{ char str1[][5]={"分","角","圆","拾","佰","仟","万","拾万","佰万","仟万","亿","十亿","百亿","千亿","兆"};char str2[][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};char t[20],*p,*q;double a;scanf("%lf",&a);sprintf...

怎么用C++程序将输入的阿拉伯数字转换成中文大写形式?
C++程序将输入的阿拉伯数字转换成中文大写形式的思路,建立阿拉伯数字和中文大写数字的对应关系,然后通过输入的数字,对应找到中文大写数字,在显示器端显示出来即可。下面是一个显示的实例:include <stdio.h>using namespace std;int main(){ char a[]= "零一二三四五六七八九百十 ";\/\/构建字典...

【急】C++中如何把小写字母变成大写的?
C++把小写字母转换成大写字母的代码如下:include <iostream> using namespace std;void main(void){ char i;cout<<"输入小写字母,'#'结束: "<<endl;while(1){ cin >> i;if((i>=97)&&(i<=122)){ i=i-32;cout << i;} else cout << (int)i;if(i=='#')break;} } 当前程...

用c++编程,用switch编小写输入大写输入的程序。还有输入一段长的字符...
第一个程序,小写转换成大写:完整的代码:include <iostream>using namespace std;int main(){ char str[100]; cin.getline(str,100); int i=0; while(str[i]!='\\0') { if((str[i] >= 'a')&&(str[i] <= 'z')) \/\/判断是否是小写 cout<<char(str[i]+'A'-'...

用C++实现:随便输入一个数(包括小数),(1)转化为中文大写(2)转化为人民...
大写: 一千三百四十六点八三人民币: 壹仟叁佰肆拾陆元捌角叁4975.51:大写: 四千九百七十五点五一人民币: 肆仟玖佰柒拾伍元伍角壹229.768:大写: 二百二十九点七六八人民币: 贰佰贰拾玖元柒角陆分捌709.108:大写: 七百零九点一零八人民币: 柒佰零玖元壹角零分捌0:大写: 零人民币: 零3408.64:大写: 三千四百零...

人民币大小写转换c++程序
cout<<"请输入预转换数额(小于1亿):";cin>>x;while (x>=100000000 ){ if (j>=2){ cout<<"你的错误输入已达3次,你无权再输入!"<<endl;return;} cout<<"你输入的金额超出转换范围,请重新输入!"<<endl;cout<<"请输入预转换数额(小于1亿):";cin>>x;j++;} if (x<=0){...

C++中把字母小写变成大写
void){ char a; while(a!=EOF) { scanf("%c",&a); printf("%c\\n",upper(a)); } return 0;}此处 只实现了将小写字符转换成大写字符,对其他的字符不做处理直接输出。main函数是可以多次进行处理用户输入的字符,直到输入组合键ctrl+z....

...要求将用键盘输入的小写字母转换成大写字母并显示出来
1、打开软件Visual C++6.0,新建一个C源程序,书写C语言程序。2、首先定义两个字符型变量,代码:char c1,c2;从键盘中输入一个大写字母,代码:c1=getchar();。3、大写字母与小写字母的ASCII值相差32。代码:c2=c1+32;。将大写字母转化成小写字母。4、输出小写字母。使用putchar()函数,可以输出...

c++ 字母大小写转换代码,在一个字符串里大写转为小写,小写转为...
include<stdio.h> int main(){ int I=2;\/\/赋值使I不为零 while(I)\/\/当括号内表达式不为零时实现后面的循环 { charb;scanf("%c",&b);if(b>='A'&&b<='Z'){ b=b+32;printf("%c",b);} elseif(b>='a'&&b<='z'){ b=b-32;printf("%c",b);} } return0;} ...

相似回答