首页 > 代码库 > Birt金额大小写转换

Birt金额大小写转换

1.reportMoneyConvert.js

 1 function  formatMoney(mnum) 2 { 3     var mnum = parseFloat(mnum); 4     var strOutput="",strTemp="",strInTemp=‘‘; 5     var unitArray = new Array("圆万亿","仟佰拾","零壹贰叁肆伍陆柒捌玖"); 6     var mnumArray = mnum.toString().split(‘.‘); 7     var integralnum = mnumArray[0]; 8     var integrallen = integralnum.length; 9     var decimalnum = (mnum.toString().indexOf(‘.‘)>=0) ? mnumArray[1].substr(0, 2) : ‘0‘;10     var decimallen = decimalnum.length;11     var ints = parseInt(integrallen/4);12     var inty = integrallen%4;13     if (ints>3 || (ints==3 && inty>0)) return "超出范围";14     if (inty>0)15     {16     ints++;17     integralnum = "0000".substr(inty)+integralnum;18     integrallen = integralnum.length;19     }20     var i = 0;21     while (i<integrallen)22     {23     var strOutTemp = "";24     strTemp = integralnum.substr(i, 4);25     i += 4;26     for (var j=0; j<4; j++)27     {28     strInTemp = parseInt(strTemp.substr(j, 1));29     strOutTemp += unitArray[2].substr(strInTemp, 1);30     if (strInTemp>0 && j<3) strOutTemp += unitArray[1].substr(j, 1);31     }32     strOutTemp = strOutTemp.replace(/零+$/, "");33     ints--;34     if (strOutTemp!="") strOutTemp += unitArray[0].substr(ints, 1);35     if (strTemp.substr(3,1)==‘0‘) strOutTemp += "零";36         strOutput += strOutTemp;37     }38     strOutput = strOutput.replace(/零+/g, "零").replace(/^零/, "").replace(/零$/, "");39     if (strOutput=="圆") strOutput = "";40     if (decimallen==2)41     {42     strOutput += (decimalnum.charAt(0)!=‘0‘) ? unitArray[2].substr(parseInt(decimalnum.charAt(0)), 1)+"角" : "零";43     if (strOutput=="零") strOutput = "";44     strOutput += unitArray[2].substr(parseInt(decimalnum.charAt(1)), 1)+"分";45     }46     else47     {48     if (decimalnum!=‘0‘) strOutput += unitArray[2].substr(parseInt(decimalnum), 1)+"角";49     if (strOutput!="") strOutput += "整";50     }51     if (strOutput=="") strOutput = "";52     return strOutput;53 } 

2.报表中引用JS

技术分享

 3.运用

技术分享

 

Birt金额大小写转换