祝愿大家身体健康!

 站点注册  找回密码
 站点注册

QQ登录

只需一步,快速开始

查看: 6652|回复: 3

[PB10-15.X] 真正完整无误的pb11.5 数字(可小数)转人民币中文函数

[复制链接]

[PB10-15.X] 真正完整无误的pb11.5 数字(可小数)转人民币中文函数

[复制链接]
ehxz

主题

0

回帖

58万

积分

管理员

积分
588651
贡献
在线时间
小时
2011-9-6 17:08:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?站点注册

×
/////////////////////////////////////////////////// oukichikou 原创
//////////////////////////////////////////////////真正完整无误的pb11.5 数字(可小数)转人民币中文函数
  ////////////////////////////////////////////////// string as g_uf_chinese(double alb)
  string i_number[],i_z,i_salb,i_a,i_b
  int i_len,i
  string i_rmb
  int i_bz = 0 ,i_bz1 = 0//零检测
  i_salb=string(alb,"0.00")
  i_len=len(i_salb)  
  i_a = '零壹贰叁肆伍陆柒捌玖'
  i_b = '零分角元拾佰千万拾百千亿拾百千'
  ////////////////////////////////////////////////////////小数整理
if dec(mid(i_salb,i_len,1) ) =0 and dec(mid(i_salb,i_len - 1,1)) = 0 then  
i_z= "整"
i_number[1] = ""
i_number[2] = ""
else  
i_z =""
i_number[1]= mid(i_salb,i_len,1) //分
i_number[2] = mid(i_salb,i_len - 1,1)//角
if integer(i_number[1]) > 0 then
i_number[1] = mid(i_a,integer( i_number[1])+1,1)+mid(i_b,2,1)  
else
i_number[1] = ""
end if  
if integer(i_number[2]) > 0 then  
i_number[2] = mid(i_a,integer( i_number[2])+1,1)+mid(i_b,3,1)  
else
i_number[2] = mid(i_b,1,1)  
end if
end if
i_rmb = i_z +i_number[2]+i_number[1]
///////////////////////////////////////////////////////////////////整数部分
for i=3 to i_len - 1
i_number[i] = mid(i_salb,i_len - i,1)
if integer(i_number[i]) = 0 then
  if i = 3 then
i_number[i] ="元"
i_bz1 =1
else
i_number[i] ="零"  
i_bz=i_bz + 1
  end if
else
i_bz = 0
i_bz1 = 0
i_number[i] = mid(i_a,integer( i_number[i])+1,1)+mid(i_b,i+1,1)  
  end if
  
if i= 7 and i_number[i] = "零" then //解决10万问题
i_number[i] = "万"
i_bz1=0
i_bz=1
end if  

if i= 11 and i_number[i] = "零" then //解决10亿问题
i_number[i] = "亿"
i_bz1=0
i_bz=1
end if  

////////////////////////////////////////零处理: 元后没零,没有多零
if ( i_bz1 = 1 and i_bz > 0) or i_bz > 1 then  
i_number[i] = ""
end if  
if i_number[i] <> "" then

if i = 11 then /////////////////////// 解决亿万问题
if i_number[10] = "" and i_number[9] = "" and i_number[8] = "" and i_number[7] = "万" then
i_rmb = right(i_rmb ,len(i_rmb) - 1)
end if
end if  

i_rmb= i_number[i] + i_rmb
  end if  
next
return i_rmb
共享共进共赢Sharing And Win-win Results
SYBASEBBS - 免责申明1、欢迎访问“SYBASEBBS.COM”,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@sybasebbs.com
lbcast

主题

0

回帖

5691

积分

论坛元老

积分
5691
贡献
在线时间
小时
2011-10-19 11:00:52 | 显示全部楼层
万亿显不出来。
共享共进共赢Sharing And Win-win Results
allenxie

主题

0

回帖

555

积分

高级会员

积分
555
贡献
在线时间
小时
2015-2-3 17:39:49 | 显示全部楼层
先收藏这个,我上次做了一个发票打印的。

点评

好东西是用来分享的。  详情 回复 发表于 2015-2-3 20:05
共享共进共赢Sharing And Win-win Results
ehxz 楼主

主题

0

回帖

58万

积分

管理员

积分
588651
贡献
在线时间
小时
2015-2-3 20:05:23 | 显示全部楼层
allenxie 发表于 2015-2-3 17:39
先收藏这个,我上次做了一个发票打印的。

好东西是用来分享的。
共享共进共赢Sharing And Win-win Results
您需要登录后才可以回帖 登录 | 站点注册

本版积分规则

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com

QQ|Archiver|PowerBuilder(PB)BBS社区 ( 鲁ICP备2021027222号-1 )

GMT+8, 2024-11-23 18:18 , Processed in 0.034294 second(s), 8 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表