欢迎 HiLanny 加入本站!
 免费注册  用户登陆  汇款方式  汇款确认  产品报价  联系我们  帮助中心
加入收藏
设为首页
会员体系
申请VIP
网站首页 光盘超市 软件下载 技术文章 专题 用户中心 VIP会员 技术论坛 网站留言 娱乐中心 卓越资源
今天是:2008年11月21日 星期五  您现在位于: 首页 → 技术文章 → INFORMIX 4GL...
   INFORMIX 4GL写的转换成大写金额字串的函数
作者:bellchiu  出处:Unix爱好者家园unix-cd.com  更新时间: 2004年07月22日 
####################################### 
## 这个函数输入金额,返回大写汉字金额 ## 
## bellchiu AT NanJing CITIC    :em13:       ## 
####################################### 
FUNCTION F_CONV_GB(pf_money) 
DEFINE pf_money DECIMAL(14,2) 

DEFINE ll_money   INTEGER 
DEFINE i       SMALLINT 
DEFINE li_bit   SMALLINT 
DEFINE li_length SMALLINT 
DEFINE li_len    SMALLINT 
DEFINE ls_money  CHAR(20) 
DEFINE ls_result CHAR(64) 

DEFINE ls_arr_num   ARRAY [10] OF CHAR(2) 
DEFINE ls_arr_unit  ARRAY [14] OF CHAR(2) 
DEFINE ls_arr_unit0 ARRAY [14] OF CHAR(2) 

LET ls_arr_num[1] ='' 
LET ls_arr_num[2] ='' 
LET ls_arr_num[3] ='' 
LET ls_arr_num[4] ='' 
LET ls_arr_num[5] ='' 
LET ls_arr_num[6] ='' 
LET ls_arr_num[7] ='' 
LET ls_arr_num[8] ='' 
LET ls_arr_num[9] ='' 
LET ls_arr_num[10]='' 

LET  ls_arr_unit[ 1] = '' 
LET  ls_arr_unit[ 2] = '' 
LET  ls_arr_unit[ 3] = '' 
LET  ls_arr_unit[ 4] = '' 
LET  ls_arr_unit[ 5] = '' 
LET  ls_arr_unit[ 6] = '' 
LET  ls_arr_unit[ 7] = '' 
LET  ls_arr_unit[ 8] = '' 
LET  ls_arr_unit[ 9] = '' 
LET  ls_arr_unit[10] = '' 
LET  ls_arr_unit[11] = '亿' 
LET  ls_arr_unit[12] = '' 
LET  ls_arr_unit[13] = '' 
LET  ls_arr_unit[14] = '' 

LET  ls_arr_unit0[ 1] = '' 
LET  ls_arr_unit0[ 2] = '' 
LET  ls_arr_unit0[ 3] = '' 
LET  ls_arr_unit0[ 4] = '' 
LET  ls_arr_unit0[ 5] = '' 
LET  ls_arr_unit0[ 6] = '' 
LET  ls_arr_unit0[ 7] = '' 
LET  ls_arr_unit0[ 8] = '' 
LET  ls_arr_unit0[ 9] = '' 
LET  ls_arr_unit0[10] = '' 
LET  ls_arr_unit0[11] = '亿' 
LET  ls_arr_unit0[12] = '' 
LET  ls_arr_unit0[13] = '' 
LET  ls_arr_unit0[14] = '' 

IF  pf_money=0 THEN 
   RETURN '零元整' 
END IF 
IF pf_money<0 THEN 
   LET pf_money=0 - pf_money 
   LET ls_result='负 ' 
ELSE 
   LET ls_result='' 
END IF 
IF pf_money>999999999999.99 THEN 
   RETURN ls_result='数值超出范围' 
END IF 

LET ls_money=pf_money*100 USING "<<<<<<<<<<<<<<" 
LET li_length=length(ls_money CLIPPED) 

for i=1 to li_length 

   LET li_bit=ls_money 
       
   if li_bit=0 then 
      LET li_len=length(ls_result CLIPPED) 
      if ls_result[li_len - 1, li_len]<>'' then 
         LET ls_result = ls_result CLIPPED, ls_arr_unit0[li_length - i + 1] 
      else 
         LET ls_result = ls_result[1, li_len - 2], 
                      ls_arr_unit0[li_length - i + 1] 
      end if 
   else 
      LET ls_result = ls_result CLIPPED, ls_arr_num[li_bit], 
                  ls_arr_unit [li_length -i + 1] 
   end if 
END FOR 

return ls_result CLIPPED 

END FUNCTION  
 
 (本文已被浏览 2172 次)
 发布人:sdccf
 → 推荐给我的好友
上篇文章:借助组件使用asp连接informix全方案
下篇文章:Informix数据备份小技巧
 相关文章:
Informix的历史沿革 Informix case语句的妙用
Informix在一台机器上起两个实例的思路 informix 锁表处理步骤
informix审计功能的配置 informix临时表的存放位置
Informix数据库一致性检查 Informix中求时间间隔的函数
Informix表空间计算 Informix如何更加有效的创建主键和外键
SCO UnixWare 7.1.4下安装Informix 基于Informix的ESQL/C(2)
基于Informix的ESQL/C(1) 在 IDS 9.x 中使用 GUID
如何综合掌握 DB2 和 Informix 使用Informix系统目录
Informix数据库优化 Windows XP下也玩Informix
Informix-4GL/FORM的使用(3) Informix-4GL/FORM的使用(2)

相关搜索
查看百度中关于INFORMIX 4GL写的转换成大写金额字串的函数的更多内容
查看google中关于INFORMIX 4GL写的转换成大写金额字串的函数的更多内容
   文章分类
操作系统 |
SCO_UNIX  Sun_Solaris  IBM_AIX  HP_UX  Linux  BSD  Tru64_UNIX 
通用UNIX知识  Windows  Minix 
程序设计 |
Shell编程  C/C++  汇编  PHP  JAVA  Perl  Python 
ASP/HTML  XML  中间件 
数据库 |
Oracle  Informix  Sybase  Fox  DB2  SQL  MySQL 
PostgreSQL 
网络应用 |
网络应用 
计算机硬件 |
计算机主机  打印机  路由器  交换机  终端  磁带机  MO 
刻录机  终端服务器  调制解调器 
   文章评论
  → 评论内容 (点击查看)   共0条评论,每页显示5条评论   浏览所有评论
(没有相关评论)
  → 发表我的评论
您的姓名: 您的Email:
评论内容:
250字内
发表评论:      发表评论须知 →
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  • 关于我们 ┋  网站留言 ┋  网站地图 ┋  友情链接 ┋  与我在线 ┋  汇款确认 ┋  管理 ┋  TOP
    Linux.Unix爱好者家园  http://www.unix-cd.com/
    联系我们:sdccf@163.com
    腾讯QQ: 7644599
    备案序号:鲁ICP备05000455号
    Copyright (c) 2001-2008 Unix-cd.com. All Rights Reserved.