捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
FastReport 创建“人民币大小写转换”自定义函数
关键字:FastReport FR 报表 自定义函数 人民币大小写转换
来 自:原创
平 台:Win2k/XP/NT,Win2003 下载所需:0 火柴
深浅度:中级 完成时间:2006/8/11
发布者:yangzh 发布时间:2006/8/11
编辑器:BDS2006 语  种:简体中文
分 类:组件 下载浏览:0/20072
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
无图片
控件版本是:
----------
FastReport 3.23.12 Enterpise for d2006 (DeXter)

设置如下:
----------
function TJzpzEdit1.MoneyCn(mmje: Double): string;
const
  s1: string = '零壹贰叁肆伍陆柒捌玖';
  s2: string = '分角元拾佰仟万拾佰仟亿拾佰仟万';

  function StrTran(const S, s1, s2: string): string;
  begin
    Result := StringReplace(S, s1, s2, [rfReplaceAll]);
  end;
var
  S, dx: string;
  i, Len: Integer;
begin
  if mmje < 0 then
  begin
    dx := '负';
    mmje := -mmje;
  end;
  S := Format('%.0f', [mmje * 100]);
  Len := Length(S);
  for i := 1 to Len do
    dx := dx + Copy(s1, (Ord(S[i]) - Ord('0')) * 2 + 1, 2) + Copy(s2, (Len - i)
      * 2 + 1, 2);
  dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零仟', '零'), '零佰',
    '零'),
    '零拾', '零'), '零角', '零'), '零分', '整');
  dx := StrTran(StrTran(StrTran(StrTran(StrTran(dx, '零零', '零'), '零零',
    '零'),
    '零亿', '亿'), '零万', '万'), '零元', '元');
  if dx = '整' then
    Result := '零元整'
  else
    Result := StrTran(StrTran(dx, '亿万', '亿零'), '零整', '整');
end;
//////////
procedure TJzpzEdit1.FormCreate(Sender: TObject);
begin
  frxReport1.AddFunction('function MoneyCn(mmje: Double): String;','Myfunction','小写金额转大写的函数');
end;
//////////
function TJzpzEdit1.frxReport1UserFunction(const MethodName: string;
  var Params: Variant): Variant;
begin
  if UpperCase(MethodName) = UpperCase('MoneyCn') then
    Result := MoneyCn(Params[0]);
end;
//////////
报表中调用方法
MoneyCn(50000000)
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
FastReport 创建“人民币大小写转换”自定义…
yangzh 2006/8/11 下+0/浏+20073 评+7
大写金额转为英文的算法 修改版 By Logitec…
logitech1229 2006/7/14 下+615/浏+10657 评+1
又一款人民币金额大小写转换的演示程序
zlb_nj 2004/2/8 下+1086/浏+12155 评+1
一款人民币金额大小写转换的演示程序
inrm 2003/10/9 下+1161/浏+14998 评+2
人民币小写转换为大写的演示程序
mantousoft 2003/9/11 下+741/浏+12566 评+5
相关评论
共有评论7条 当前显示最后6条评论
townch 2006/8/12 12:57:17
3.23.12在哪里可以下载?目前只发现有3.23.9的。
yangzh 2006/8/12 22:52:51
官方网站上就可以下载打印5页的企业版
ntjrr 2006/9/29 21:05:07
前辈的金额大小写转换函数,不知道是否成熟,有没有经过长期的实践验证过? 我初步试了一下,发现这个比较好用,好象没有明显的BUG,我将再仔细一测.我本来有一个类似的函数,经过大量用户使用了,没有人提出问题,但我自己测试后发现在一元以内时会有小错误,要找一个没有BUG的金额转换函数好象很难.
barcode 2006/10/4 19:28:15
MDI环境中,第1个报表没问题,可多次开,再开第2个报表会报错,则所有用到此功能的报表都报错
aiicda 2009/7/12 0:27:42
感谢楼主!!终于找到这东东了
recky 2010/3/6 12:29:05
这代码如果是直接转换合计函数就会出错了。could not convert variant of type (array variant) into type(double)
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表