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

原创 2002年01月09日 10:49:00

//输入数字型金额,返回中文大写金额

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;
}

Qt将数字转为中文大写金额

在实现之前自己在网上找了相关资料, 没发现好的实现方法, 仿照一篇博客写能实现将整数转为大写中文数字, 但是源代码写得有些复杂且没有实现小数的转换, 索性自己改写了一下....
  • tangtaizong33
  • tangtaizong33
  • 2017年08月02日 18:25
  • 358

JAVA科学计数法,金额数字,转换为中文大写字

java操作金额
  • wangyonglin1123
  • wangyonglin1123
  • 2016年04月28日 13:46
  • 1790

将数字转为中文金额的大写方式(C++版)

/**   * 程序目的:   *   从命令行接收一个数,并将其转化为中文金额的大写方式(C++版)   * 例如 123.45 --> 壹佰贰拾叁元肆角伍分   * @author Lov...
  • u010944926
  • u010944926
  • 2014年03月08日 15:57
  • 3187

Qt将数字转为中文大写金额

在实现之前自己在网上找了相关资料, 没发现好的实现方法, 仿照一篇博客写能实现将整数转为大写中文数字, 但是源代码写得有些复杂且没有实现小数的转换, 索性自己改写了一下....
  • tangtaizong33
  • tangtaizong33
  • 2017年08月02日 18:25
  • 358

java实现数字金额转换成汉字大写金额

我们经常在做项目的财务报表,需要打印发票等情况时需要用到小写的财务金额要转换成汉字的大写金额,下面就是实现该功能的代码...
  • software7503
  • software7503
  • 2017年07月10日 20:21
  • 294

SQL人民币小写金额转大写

--1、人民币小写金额转大写(第一版) ==================================================================== -- Title:...
  • tlammon
  • tlammon
  • 2016年04月05日 22:03
  • 1468

JAVA 数字转换为中文大写的转换

【转】 读入一个浮点数值,将其转化为中文金额的大写形式。 如123.45,转化为:壹佰贰拾叁元肆角伍分。 以下是各种情况要完善: 1. 当金额为整数,只表示整数部分,省略小数部分,并添加“整”字。如1...
  • abiao1011
  • abiao1011
  • 2013年08月09日 00:07
  • 2195

js转换金额为中文大写

js转换金额为中文大写: function changeMoneyToChinese(money){ var cnNums = new Array("零","壹","贰","叁","肆"...
  • gang_strong
  • gang_strong
  • 2016年11月02日 10:54
  • 3170

将数字转换成中文金额的大写形式

package com.unteck.fms.web.businessdata.controller; import org.springframework.beans.factory.anno...
  • wangwei2043869
  • wangwei2043869
  • 2014年07月16日 11:37
  • 1274

在fastreport里转换金额大小写

在fastreport的pascalscript里面我没有搞明白怎么调用sysutil
  • ddlucky
  • ddlucky
  • 2014年11月13日 15:48
  • 1447
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:可能是最简洁明了的数字金额中文大写函数
举报原因:
原因补充:

(最多只允许输入30个字)