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     else
47     {
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.运用

时间: 2024-08-02 19:43:31

Birt金额大小写转换的相关文章

金额大小写转换

/// <summary> /// 金额大小写转换 /// </summary> /// <param name="number">金额</param> /// <returns></returns> private string ConvertToChinese(decimal number) { var s = number.ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E

.NET下金额大小写转换

说明:金额转换可以转换50位的数值,单位从分到级.对于中间部分是否显示零,可以根据修改TranslateJInen()函数修改.中间数值为零的去掉不显示 public string GetChCapitalNumber(string canshu)中间数值为零的显示public string GetChCapitalNumberFill(string canshu) using System;using System.Collections.Generic;using System.Compon

double四舍五入,商品金额大小写转换,设置货币的小数位数跟格式输出,进制转化

1:计算double值四舍五入的方法 对小数数值进行四舍五入,首先应该确认保留小数位, 如果数值的小数精度大于保留小数位,那么开始四舍五入计算.四舍五入的方法非常简单,在所有要丢失精度的小数位中加5,如果大于10则向前进位,最后计算出四舍五入的结果. /// <summary>计算double值四舍五入的方法 /// /// </summary> /// <param name="dbl">进行四舍五入的数值</param> /// &l

财务金额大小写转换

//==========================财务流程,货币小写转换为大写========[开始]=============================================== //对应数据库[LR_Form_SchemeInfo]的F_Id //二位数组定义:["表单名称/编号","小写金额标识","大写金额标识"] //表单名称:对应[表单设计]中的名称,而非流程 /* var needTransForm = new

数字金额大小写转换

有很多时候打印凭据的时候需要实现金额大写,例如 有多种写法来实现 例如一下几种 CREATE OR REPLACE FUNCTION chinese_number_program(p_input FLOAT) RETURN VARCHAR2 AS TYPE typ_money IS TABLE OF VARCHAR2(20); c_numbers typ_money := typ_money('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); c

数字转换成中文大小写、金额大小写

将数字转换成中文大小写.金额大小写  /// <summary> /// 将数字转换成中文大写 /// </summary> /// <param name="Value">数字</param> /// <param name="bToUpper">是否转换成汉字大写 true表示大写 false表示小写</param> /// <param name="bMoney"

oracle 处理时间和金额大小写的相关函数集合

1 CREATE OR REPLACE FUNCTION MONEY_TO_CHINESE(MONEY IN VARCHAR2) 2 RETURN VARCHAR2 IS 3 C_MONEY VARCHAR2(12); 4 M_STRING VARCHAR2(60) := '分角圆拾佰仟万拾佰仟亿'; 5 N_STRING VARCHAR2(40) := '壹贰叁肆伍陆柒捌玖'; 6 B_STRING VARCHAR2(80); 7 N CHAR; 8 LEN NUMBER(3); 9 I NU

Excel大小写转换函数

Excel中的大小写转换函数 (1).转换为全部小写字母:lower函数 (2).转换为全部大写字母:upper函数 (3).转换为首字母大写,其余小写字母:proper函数 三种函数的使用方式,如下图所示: 流程操作,如下图所示: 小知识,简而记之. 蓝的成长记系列: 原创作品,出自 "深蓝的blog" 博客 蓝的成长记--追逐DBA(1):奔波于路上,挺进山东 蓝的成长记--追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知 蓝的成长记--追逐DBA(3):古董上操

转译字符 大小写转换

1. 转义字符:当字符串的内容和程序的特殊符号冲突时           或字符串中包含功能字符时,都用\转化字符的意义 \n:换行 \t:一次缩进Tab键 2. 大小写转换:将字符串中所有字符都统一转为大写或小写       何时使用:不区分大小写时         比如:用户名  验证码    电子邮件       转大写:str=str.toUpperCase();       转小写:str=str.toLowerCase();