在实现之前自己在网上找了相关资料, 没发现好的实现方法, 仿照一篇博客(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==