Delphi 金额转大写
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 金额转大写相关推荐
- java数字转大写 其他报异常_【踩坑系列】使用long类型处理金额,科学计数法导致金额转大写异常...
python科学计算数据应用(第2版) 156.4元 (需用券) 去购买 > 1. 踩坑经历 上周,一个用户反馈他创建的某个销售单无法打开,但其余销售单都可以正常打开,当时查看了生产环境的ERR ...
- php金额类,PHP类-人民币金额转大写
这篇文章介绍的内容是关于PHP类-人民币金额转大写,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下<?php //人民币金额转大写程序PHP版 class Ext_Num2Cny{ ...
- SQL人民币小写金额转大写
--1.人民币小写金额转大写(第一版) ==================================================================== -- Title: 人 ...
- 财务转换工具 - 人民币金额转大写工具类 java 版本
文章目录 财务转换工具 - 人民币金额转大写工具类 java 版本 1.示例 2.代码 财务转换工具 - 人民币金额转大写工具类 java 版本 1.示例 public static void mai ...
- 人民币小写金额转大写
-- ==================================================================== -- Title: 人民币小写金额转大写 -- Auth ...
- java数字金额大写金额_Java实现 “ 将数字金额转为大写中文金额 ”
前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分:重点来了:本人亲测有效. 奉上代码: /** * @Title: Conve ...
- 数字金额转换为大写人民币汉字
// 数字金额转换为大写人民币汉字convertCurrency (money) {// 汉字的数字var cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', ' ...
- JS将数字金额转换为大写人民币汉字
转载自 qubernet 博客 JS将数字金额转换为大写人民币汉字 function convertCurrency(money) {//汉字的数字var cnNums = new Array('零' ...
- JQ实现小写金额转大写
JQ代码如下: <script>//小写金额转大写function num_change(money) {//汉字的数字var cnNums = new Array('零', '壹', ' ...
- 数字金额转换大写 先写个完整的然后将如零拾替换成零
/*** 数字金额转换大写 先写个完整的然后将如零拾替换成零* @param n 数字* @return 中文大写数字*/public static String digitUppercase(dou ...
最新文章
- “懒惰”Linux 管理员的 10 个关键技巧
- 服务器虚拟化软件XenServer 常见问题(一)
- 用于大数据开发的Centos7操作系统安装过程中遇到的问题总结
- 【MFC】可调整按钮位置的工具栏
- STM32单片机低功耗配置
- LeNet-5 卷积神经网络
- Android轩辕剑之ActionBar之一
- properties(属性文件)
- win7计算机的ip地址设置,如何将win7ip地址设置成自动获取
- Android新浪微博分页加载,Android仿新浪微博分页管理界面(3)
- 嵌入式平台ssh开发环境搭建
- Java游戏开发——推箱子
- iTop4412 Booting Sequence
- rqt teb参数动态调试工具_teb教程8
- 计算机操作系统学习之FCFS、SJF和HRRN调度算法
- 将栈S中的元素逆置,使用额外的一个栈L和非数组变量
- MT6765中断处理IO口配置流程
- 摄影毁一生单反穷三代顺口溜_什么?这点预算你竟买了一套摄影设备!
- 农业银行面试计算机专业类知识,中国农业银行面试经验
- 给Administrator设置指纹登陆
热门文章
- 百度地图 LBS API 使用
- 零基础可不可以学前端?我来告诉你
- 机器学习笔记 - 学习使用TensorFlow和张量处理单元 (TPU) 构建图像分类模型
- Git- 报错 error: bad signature 0x00000000 fatal: index file corrupt
- java 多文字水印_Java如何给Word文档添加多行文字水印
- java table 增加行_使用POI给word中的表格增加行
- 在gamit中对rinex3的转换
- 什么是pid控制算法_智能车运动控制 ——PID简介
- oracle怎么加上双引号,Oracle中的双引号的作用
- 超脑计划孵出的阿尔法蛋 拥有什么超能力?