RAD Studio 10.2.3 测试√


使用实例

procedure TForm_Tips.Button_MoneyConvertClick(Sender: TObject);
varmMoneyNum: Real;
beginmMoneyNum := 00000000;       // 零元整Memo_Log.Lines.Add(MoneyConvert(mMoneyNum));mMoneyNum := 00100053;       // 壹拾万零伍拾叁元整Memo_Log.Lines.Add(MoneyConvert(mMoneyNum));mMoneyNum := 100.52;         // 壹佰元伍角贰分Memo_Log.Lines.Add(MoneyConvert(mMoneyNum));mMoneyNum := 1001.52;        // 壹仟零壹元伍角贰分Memo_Log.Lines.Add(MoneyConvert(mMoneyNum));mMoneyNum := 1000000000000;  // 壹万亿元整Memo_Log.Lines.Add(MoneyConvert(mMoneyNum));mMoneyNum := -1001.52;       // 负壹仟零壹元伍角贰分Memo_Log.Lines.Add(MoneyConvert(mMoneyNum));
end;

方法

function MoneyConvert(mmje: real): string;
constS1: string = '零壹贰叁肆伍陆柒捌玖';S2: string = '分角元拾佰仟万拾佰仟亿拾佰仟万';function StrReplace(const Str, OldValue, NewValue: string): string;beginResult := Str.Replace(OldValue, NewValue, [rfReplaceAll]);end;varS, dx: string;i, Len: Integer;
beginS := '';dx := '';if mmje >= 9000000000000 thenbeginResult := '不能大于玖万亿元整';Exit;end;if mmje < 0 thenbegindx := '负';mmje := -mmje;end;S := Format('%.0f', [mmje * 100]);  // 将这个数 *100 后去掉小数点Len := S.Length;for i := 0 to Len - 1 dobegindx := dx+ S1.Substring(Ord(S.Chars[i]) - Ord('0'), 1)  // 在 S1 中取出这个数当前位转换为大写后的数字+ S2.substring(Len - i - 1, 1);                // 在 S2 中取出这个数当前位的单位end;dx := StrReplace(dx, '零仟', '零');dx := StrReplace(dx, '零佰', '零');dx := StrReplace(dx, '零拾', '零');dx := StrReplace(dx, '零角', '零');dx := StrReplace(dx, '零零', '零');dx := StrReplace(dx, '零零', '零');dx := StrReplace(dx, '零零', '零');dx := StrReplace(dx, '零亿', '亿');dx := StrReplace(dx, '零万', '万');dx := StrReplace(dx, '零分', '整');dx := StrReplace(dx, '零元', '元');if dx = '整' thenResult := '零元整'elsebegindx := StrReplace(dx, '亿万', '亿零');dx := StrReplace(dx, '零元', '元');Result := dx;end;// 如果不按金额转换,只转成大写数字,把下面的注释去掉
//  result := StrReplace(Result, '元', '点');
//  Result := StrReplace(Result, '角', '');
//  Result := StrReplace(Result, '分', '');
//  Result := StrReplace(Result, '点整', '');
end;

一点点笔记,以便以后翻阅。

Delphi 金额转大写相关推荐

  1. java数字转大写 其他报异常_【踩坑系列】使用long类型处理金额,科学计数法导致金额转大写异常...

    python科学计算数据应用(第2版) 156.4元 (需用券) 去购买 > 1. 踩坑经历 上周,一个用户反馈他创建的某个销售单无法打开,但其余销售单都可以正常打开,当时查看了生产环境的ERR ...

  2. php金额类,PHP类-人民币金额转大写

    这篇文章介绍的内容是关于PHP类-人民币金额转大写,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下<?php //人民币金额转大写程序PHP版 class Ext_Num2Cny{ ...

  3. SQL人民币小写金额转大写

    --1.人民币小写金额转大写(第一版) ==================================================================== -- Title: 人 ...

  4. 财务转换工具 - 人民币金额转大写工具类 java 版本

    文章目录 财务转换工具 - 人民币金额转大写工具类 java 版本 1.示例 2.代码 财务转换工具 - 人民币金额转大写工具类 java 版本 1.示例 public static void mai ...

  5. 人民币小写金额转大写

    -- ==================================================================== -- Title: 人民币小写金额转大写 -- Auth ...

  6. java数字金额大写金额_Java实现 “ 将数字金额转为大写中文金额 ”

    前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分:重点来了:本人亲测有效. 奉上代码: /** * @Title: Conve ...

  7. 数字金额转换为大写人民币汉字

    // 数字金额转换为大写人民币汉字convertCurrency (money) {// 汉字的数字var cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', ' ...

  8. JS将数字金额转换为大写人民币汉字

    转载自 qubernet 博客 JS将数字金额转换为大写人民币汉字 function convertCurrency(money) {//汉字的数字var cnNums = new Array('零' ...

  9. JQ实现小写金额转大写

    JQ代码如下: <script>//小写金额转大写function num_change(money) {//汉字的数字var cnNums = new Array('零', '壹', ' ...

  10. 数字金额转换大写 先写个完整的然后将如零拾替换成零

    /*** 数字金额转换大写 先写个完整的然后将如零拾替换成零* @param n 数字* @return 中文大写数字*/public static String digitUppercase(dou ...

最新文章

  1. “懒惰”Linux 管理员的 10 个关键技巧
  2. 服务器虚拟化软件XenServer 常见问题(一)
  3. 用于大数据开发的Centos7操作系统安装过程中遇到的问题总结
  4. 【MFC】可调整按钮位置的工具栏
  5. STM32单片机低功耗配置
  6. LeNet-5 卷积神经网络
  7. Android轩辕剑之ActionBar之一
  8. properties(属性文件)
  9. win7计算机的ip地址设置,如何将win7ip地址设置成自动获取
  10. Android新浪微博分页加载,Android仿新浪微博分页管理界面(3)
  11. 嵌入式平台ssh开发环境搭建
  12. Java游戏开发——推箱子
  13. iTop4412 Booting Sequence
  14. rqt teb参数动态调试工具_teb教程8
  15. 计算机操作系统学习之FCFS、SJF和HRRN调度算法
  16. 将栈S中的元素逆置,使用额外的一个栈L和非数组变量
  17. MT6765中断处理IO口配置流程
  18. 摄影毁一生单反穷三代顺口溜_什么?这点预算你竟买了一套摄影设备!
  19. 农业银行面试计算机专业类知识,中国农业银行面试经验
  20. 给Administrator设置指纹登陆

热门文章

  1. 百度地图 LBS API 使用
  2. 零基础可不可以学前端?我来告诉你
  3. 机器学习笔记 - 学习使用TensorFlow和张量处理单元 (TPU) 构建图像分类模型
  4. Git- 报错 error: bad signature 0x00000000 fatal: index file corrupt
  5. java 多文字水印_Java如何给Word文档添加多行文字水印
  6. java table 增加行_使用POI给word中的表格增加行
  7. 在gamit中对rinex3的转换
  8. 什么是pid控制算法_智能车运动控制 ——PID简介
  9. oracle怎么加上双引号,Oracle中的双引号的作用
  10. 超脑计划孵出的阿尔法蛋 拥有什么超能力?