跳至正文
-
Subscribe to our newsletter & never miss our best posts. Subscribe Now!
BG6RSH's 随记.

我们总是在感叹昨天,忽视今天,幻想着明天中渡过,且过且珍惜.....

BG6RSH's 随记.

我们总是在感叹昨天,忽视今天,幻想着明天中渡过,且过且珍惜.....

  • 首页
  • 论坛
  • 随记
  • 编程
  • 软件
  • 留言
  • 首页
  • 论坛
  • 随记
  • 编程
  • 软件
  • 留言
关

搜索

  • https://www.facebook.com/
  • https://twitter.com/
  • https://t.me/
  • https://www.instagram.com/
  • https://youtube.com/
Subscribe
编程

Delphi2010小写金额转大写金额的源代码

作者 admin
2009年12月17日 1 分钟阅读
0

由于从Delphi2010开始支持大字符集,原来一个汉字占2个字节,现在Delphi2010中占一个字节,所以原函数在Delphi2010下已不能用了,现将原函数修改如下:

Delphi/Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
function ToBigRMB(Num: Currency): String;    
const    
  BigNumber='零壹贰叁肆伍陆柒捌玖';    
  BigUnit='万仟佰拾亿仟佰拾万仟佰拾元';    
       {共可表示13位金额}    
var    
  nLeft, nRigth, lTemp, rTemp, BigNumber1, BigUnit1, RMB,s: string;    
  I: Integer;    
begin  {取整数和小数部分}    
  RMB := FormatCurr('0.00', Num);    
  nLeft:=copy(RMB, 1, Pos('.', RMB) - 1);    
  nRigth:=copy(RMB, Pos('.', RMB) + 1, 2);    
    {转换整数部分}    
  if nLeft<>'0' then    
    for I:=1 to Length(nLeft) do    
    begin    
      BigNumber1:=copy(BigNumber, StrToInt(nLeft[I]) + 1, 1);    
      BigUnit1:=copy(BigUnit, (Length(BigUnit) - Length(nleft) + I - 1) + 1, 1);    
      s := copy(lTemp, Length(lTemp)-1, 1);    
      if (BigNumber1='零') and (s='零') then    
        lTemp:=copy(lTemp, 1, Length(lTemp) - 2);    
      if (BigNumber1='零') and ((BigUnit1='亿') or (BigUnit1='万') or (BigUnit1='元')) then    
      begin    
        BigNumber1:=BigUnit1;    
        if BigUnit1<>'元' then    
          BigUnit1:='零'    
        else    
          BigUnit1:='';    
      end;    
      if (BigNumber1='零') and (BigUnit1<>'亿') and (BigUnit1<>'万') and (BigUnit1<>'元') then    
        BigUnit1:='';    
      lTemp:=lTemp + BigNumber1 + BigUnit1;    
    end;    
 
  lTemp:=StringReplace(lTemp, '亿万', '亿', [rfReplaceAll]);    
  lTemp:=StringReplace(lTemp, '零零', '零', [rfReplaceAll]);    
  lTemp:=StringReplace(lTemp, '零元', '元', [rfReplaceAll]);    
 
  {转换小数部分}    
  if StrToInt(nRigth[1])<>0 then    
    rTemp:=copy(BigNumber, StrToInt(nRigth[1]) * 1 + 1, 1) + '角';    
  if StrToInt(nRigth[2])<>0 then    
  begin    
    if (nLeft<>'0') and (StrToInt(nRigth[1])=0) then    
      rTemp:='零';    
    rTemp:=rTemp + copy(BigNumber, StrToInt(nRigth[2]) * 1 + 1, 1) + '分';    
    RMB:=lTemp + rTemp;    
  end    
  else    
    RMB :=lTemp + rTemp + '整';    
  Result := RMB;
end;

作者

admin

关注我
其他文章
上一个

在WIN2000/XP下添加自定义纸张

下一个

Delphi过程函数传递参数的几种方式

暂无评论!成为第一个。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

4条垃圾评论已被Akismet阻挡 (在新标签页中打开)

近期文章

  • www.tansoo.cn网站空间迁移至armbian主机
  • 在QT6中安装qtmqtt、qtopcua控件的方法
  • 你的 Python 环境或安装版没有 spyder‑kernels 模块或没有安装正确的版本 (>=
  • 用PYTHON爬网络小说源代码
  • QT5.15.2搭建ANDROID编译环境

近期评论

  • gg 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • admin 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • /api/positions/里addres 为什么是null啊? 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • gg 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • 9394 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》

归档

  • 2025 年 6 月
  • 2023 年 6 月
  • 2022 年 10 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2020 年 11 月
  • 2020 年 10 月
  • 2020 年 6 月
  • 2019 年 11 月
  • 2019 年 8 月
  • 2019 年 6 月
  • 2019 年 1 月
  • 2018 年 12 月
  • 2018 年 11 月
  • 2017 年 9 月
  • 2016 年 7 月
  • 2016 年 5 月
  • 2015 年 12 月
  • 2015 年 4 月
  • 2015 年 1 月
  • 2014 年 12 月
  • 2014 年 11 月
  • 2014 年 10 月
  • 2014 年 9 月
  • 2014 年 8 月
  • 2014 年 7 月
  • 2014 年 6 月
  • 2014 年 5 月
  • 2013 年 10 月
  • 2013 年 9 月
  • 2013 年 8 月
  • 2013 年 7 月
  • 2013 年 6 月
  • 2013 年 5 月
  • 2013 年 4 月
  • 2013 年 3 月
  • 2013 年 2 月
  • 2013 年 1 月
  • 2012 年 12 月
  • 2012 年 11 月
  • 2012 年 10 月
  • 2012 年 6 月
  • 2012 年 3 月
  • 2011 年 8 月
  • 2011 年 5 月
  • 2011 年 4 月
  • 2011 年 3 月
  • 2011 年 1 月
  • 2010 年 8 月
  • 2010 年 6 月
  • 2010 年 4 月
  • 2010 年 3 月
  • 2010 年 2 月
  • 2010 年 1 月
  • 2009 年 12 月
  • 2009 年 11 月

分类

  • 编程
  • 软件
  • 随记

其他操作

  • 注册
  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org

标签

aliyun Android CRC DBGridEh ddns Delphi EhLib ESP8266 GP328D gp338plus GP3688 Modbus phpbb python QT raspberry S7-SCL sapi speech SpVoice Synology traccar UART Unicode virtualbox vmware WGS84 wordpress ZeroTier 写频 动态IP 图片尺寸 地图 外挂编程 天气预报 导航 打印 扩频 拼音首字母 支票快打 树莓派 爬虫 百度地图 西门子PLC 车联网API

友情链接

  • 私有云论坛
  • 百度开放云
  • 主机管理
  • My Cloud
  • 智能家居技术论坛
  • 精灵云
  • 雅苑私站
Copyright 2026 — BG6RSH's 随记.. All rights reserved. Blogsy WordPress Theme