一个水晶报表的数字转换成中文大写的公式!
2004-09-15 14:25
453 查看
StringVar x;
StringVar xx := "";
NumberVar z;
NumberVar i;
x := ToText({CL_CFKB.FKJE});
x := Left(x,length(x)-5); //这里所减去的数字,是小数点后面的位数加1的值
//我这里是存储时保留小数点后4 位,所以只能精确到个位。
x := Replace(x,",","");
z := length(x);
for i := z to 1 step -1 do
(
select i
case 8 : if(Mid(x,z-i+1,1)<>"0") then xx := Mid(x,z-i+1,1) + "十"
case 7 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "亿" else xx := xx + "亿"
case 6 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "仟"
case 5 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "佰"
case 4 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "十"
case 3 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "万" else xx := xx + "万"
case 2 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "仟"
case 1 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "佰"
);
xx := Replace(xx,"1","壹");
xx := Replace(xx,"2","贰");
xx := Replace(xx,"3","叁");
xx := Replace(xx,"4","肆");
xx := Replace(xx,"5","伍");
xx := Replace(xx,"6","陆");
xx := Replace(xx,"7","柒");
xx := Replace(xx,"8","捌");
xx := Replace(xx,"9","玖");
xx + "元整";
StringVar xx := "";
NumberVar z;
NumberVar i;
x := ToText({CL_CFKB.FKJE});
x := Left(x,length(x)-5); //这里所减去的数字,是小数点后面的位数加1的值
//我这里是存储时保留小数点后4 位,所以只能精确到个位。
x := Replace(x,",","");
z := length(x);
for i := z to 1 step -1 do
(
select i
case 8 : if(Mid(x,z-i+1,1)<>"0") then xx := Mid(x,z-i+1,1) + "十"
case 7 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "亿" else xx := xx + "亿"
case 6 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "仟"
case 5 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "佰"
case 4 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "十"
case 3 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "万" else xx := xx + "万"
case 2 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "仟"
case 1 : if(Mid(x,z-i+1,1)<>"0") then xx := xx + Mid(x,z-i+1,1) + "佰"
);
xx := Replace(xx,"1","壹");
xx := Replace(xx,"2","贰");
xx := Replace(xx,"3","叁");
xx := Replace(xx,"4","肆");
xx := Replace(xx,"5","伍");
xx := Replace(xx,"6","陆");
xx := Replace(xx,"7","柒");
xx := Replace(xx,"8","捌");
xx := Replace(xx,"9","玖");
xx + "元整";
相关文章推荐
- 千年零一虫
- 独具量身定做特色的管理软件--数据大师
- 在做控件的存取控制时碰到的问题,请教各位!
- 发现数据对象--数据库开发的关键
- 非对称加密算法中求解大正整数模大正整数的余数的快速计算法
- Decal SDL-Delphi的范型类库-通用数据结构与算法类库(一)
- 像素画教程(2)
- 运行”命令全集
- 关于C语言中的变量
- 通用水晶报表模板创建实例
- 数据库设计经验谈
- 如何学好VB
- 什么是中间件
- 把图标存储在SHELL32.DLL
- 用模板和库批量修改网页(下)
- 存储过程实现BBS树形结构
- 通过 MS SQL Server 访问注册表
- 在ASP.NET中把图片保存到SQL SERVER数据库
- .NET资源文件的创建、使用
- 无法在Chrome浏览器中查看SCCM SSRS报告