可能是最简洁明了的数字金额中文大写函数 - VC编程

可能是最简洁明了的数字金额中文大写函数 - VC编程 没有公告

加入收藏
设为首页
联系站长



| 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 |
|
程序设计首页
|
C语言编程
|
VC编程
|
VB编程
|
Delphi编程
|
Java编程
|
PowerBuilder
|




您现在的位置: 网络学院 >> 程序设计 >> VC编程 >> 文章正文



可能是最简洁明了的数字金额中文大写函数 【字体:小 大】

可能是最简洁明了的数字金额中文大写函数

作者:佚名 文章来源:不详 点击数: 更新时间:2007-7-30

正在装载数据……
//输入数字型金额,返回中文大写金额
CString toChineseCapitalMoney(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); //这样可能会有数字误差,double只有15位有效数字,这里只有13
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)
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))
//该位不为0||元位||亿位||万位
szChMoney+=hzUnit[iLen-i-1];
}
if(szNum.Right(2)==_T("00")) szChMoney+=_T("整");
return szChMoney;
}
站内文章搜索文章标题文章内容文章作者录 入 者关键字
所有栏目C语言编程VC编程VB编程Delphi编程Java编程


PowerBuilder
高级搜索

文章录入:admin 责任编辑:admin
上一篇文章: 恶魔和梦魇的私语------- 关于软件开发的务虚主义对话(2)

下一篇文章: 恶魔和梦魇的私语------- 关于软件开发的务虚主义对话(1)

【发表评论】【

你可能喜欢

  • Excel使用技巧大全(超
  • 阿拉伯数字大写
  • 性能测试报告
  • 数字大写转换
  • 人民币金额大写
  • 财务数字
  • 数字大小写
  • 支票金额大写

可能是最简洁明了的数字金额中文大写函数 VC编程相关文档

最新文档

返回顶部