捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
 
广告
评论:Excel中将人民币小写转大写的宏
55702 18537 2005/10/19 21:33:40
回复朋友inrm:各位对此宏的评价不低,我应该认真拜读,之后转为delphi的function。我当时用此方法一是认为不会出错,二是感觉转换有难度。
inrm 18471 2005/10/17 8:42:02
有道是:条条大路通罗马。但你饶这么个圈子的目的是什么?
55702 18466 2005/10/16 18:59:03
我使用了其他方式进行转换:
  1、利用DELPHI与EXCEL接口 建立EXCEL工作簿不打开;
  2、将小写数字写入CELLL[A1];
  3、使用转换函数将CELLL[A1]转换大写人民币(string);
  4、将CELLL[A1]人民币(string)取出;
  5、关闭EXCEL工作簿。
各位,有兴趣参加讨论吗?
zhangpingdandan2 9830 2004/11/24 18:51:23
从哪里下载呀?
tim001 8081 2004/8/27 13:50:44
学习
receving 5286 2004/5/27 21:39:04
非常感谢,正需要学习一下这个东西呢,呵呵!
inrm 5020 2004/5/17 16:38:10
[续前]
当然,如习惯在千位前加零,只要调整一下cCha的值即可。
本函数原型由 [渴死的鱼](hanlin2020@hotmail.com) 用Delphi编写,以“20行搞定数字转换成大写金额”为标题首发于www.DelphiBoy.com (Delphi程序员之家)。
inrm 5018 2004/5/17 16:26:23
很多朋友提出这个问题。
根据有关财务规定,人民币万位为零而千位非零时,千位前可写零也可不写零。如本例:500001000元,既可写为“伍亿零壹仟元整”,也可写为“伍亿壹仟元整”。
谢谢[yhcfx]朋友的测试。
yhcfx 4979 2004/5/16 14:09:30
inrm: 你的程序是非常精炼,可仍存在不足,有的数据转换不符合财务习惯哟!
如500001000,转换后应为伍亿零壹仟元整,你的却是伍亿壹仟元整.
 不过对我确实很有启发.谢谢提供.
jany 4975 2004/5/16 9:43:28
谢谢提供,比较实用哦!!
inrm 4968 2004/5/15 22:11:50
Function NtoC(n)  'n as single
Const cNum = "零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰拾万仟佰拾元角分"
Const cCha = "零仟零佰零拾零零零零零亿零万零元亿万零角零分零整-零零零零零亿万元亿零整整"
  NtoC = ""
  sNum = Trim(Str(Int(n * 100)))
  For i = 1 To Len(sNum) '逐位转换
    NtoC = NtoC + Mid(cNum, (Mid(sNum, i, 1)) + 1, 1) + Mid(cNum, 26 - Len(sNum) + i, 1)
  Next
  For i = 0 To 11 '去掉多余的零
    NtoC = Replace(NtoC, Mid(cCha, i * 2 + 1, 2), Mid(cCha, i + 26, 1))
  Next
End Function
tim001 4729 2004/5/9 9:47:57
谢谢,提供!
第一页 上一页 下一页 最后页 有 12 条纪录 共1页 1 - 12
 用户名:
 密 码:
自动登陆(30天有效)
 
  DELPHI盒子版权所有 1999-2012 V3.01 沪ICP备05001939号 更新RSS列表