Qt将数字转为中文大写金额
2017-08-02 18:25
549 查看
在实现之前自己在网上找了相关资料, 没发现好的实现方法, 仿照一篇博客(http://blog.chinaunix.net/uid-30268735-id-5067078.html)写能实现将整数转为大写中文数字, 但是源代码写得有些复杂且没有实现小数的转换, 索性自己改写了一下.代码如下.
测试后如下图:
测试一: 整数
测试二: 小数
const QString XianJinShouFuEditForm::TranslateInteger(const double &Fnumber) { const int fnum=3; //小数位数, 最大为3 if(Fnumber<0.001) return "零"; QString number = QString::number(qAbs(Fnumber),'f',fnum); const QStringList cnintegetelement={"个","万","亿","兆"}; const QStringList cnmultipleelement={"仟","","拾","佰"}; const QStringList cnnumber={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; const QStringList decimal={"角","分","厘"}; QString cnintegerpart=""; //整数部分 int len=number.length()-fnum-1; int i=0; if(len==1){ if(number[i]!='0'){ cnintegerpart += cnnumber[number[i].toLatin1()-'0']; cnintegerpart+="圆"; } }else{ while(i4 && (len-i)%4==1){ cnintegerpart += cnintegetelement[(len-i)/4]; } } i++; } cnintegerpart+="圆"; } //小数部分 QStringList numberList=number.trimmed().split("."); QString rightNumber=numberList[1]; int j=0; while(j
测试后如下图:
测试一: 整数
测试二: 小数
相关文章推荐
- 将数字转为中文金额的大写方式(C++版)
- 将数字转为中文金额的大写方式(C++版)
- 测试数字金额 转为中文大写
- 转《将数字转为中文金额的大写方式(C++版)》
- 货币金额阿拉伯数字转为中文大写
- 货币金额阿拉伯数字转为中文大写
- 金额转为大写中文方法
- 金额数字转中文大写(转)(java)
- C语言编程:数字金额转换为中文大写金额
- JS控制阿拉伯数字转为中文大写示例代码
- Java中实现数字金额到中文大写字符的转换!! 选择自 netfalcon 的 Blog
- js中如何将小写数字金额转换成大写中文数字
- C# 实现将阿拉伯数字转换成中文大写金额
- VB阿拉伯数字金额转大写中文
- 阿拉伯数字小写金额转换成中文大写金C额程序说明
- 格式化金额以及数字金额转为大写金额【前端】
- 正则也很牛,把阿拉伯数字的金额转换为中文大写数字
- 正则表达式,数字转中文大写金额
- 金额由阿拉伯数字转换成中文大写[修改版]
- 数字转为中文数字,数字四舍五入,字符串转大写,字符串转Map--封装类