📄 068.htm
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI专题文档-程序应用-->大小写金额转换</TITLE>
<META NAME="keywords" CONTENT=" DELPHI专题文档-程序应用 大小写金额转换">
<META NAME="description" CONTENT=" - DELPHI专题文档-程序应用 - 大小写金额转换">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<a href="index6.html">返回</a>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">大小写金额转换</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<p class="tt2">如下为一个简单的小写金额转换为大写的函数,其思路简单(可以说烂吧,居然利用了位置来转换),但是它几乎可以无限制的转换,只要你能读得出来和写得进去:<br>
function Tform1.SmallTOBig(small:real):string;<br>
var SmallMonth,BigMonth:string;<br>
wei1,qianwei1:string[2];<br>
wei,qianwei,dianweizhi,qian:integer;<br>
begin<br>
{------- 修改参数令值更精确 -------}<br>
{小数点后的位置,需要的话也可以改动-2值}<br>
qianwei:=-2;<br>
{转换成货币形式,需要的话小数点后加多几个零}<br>
Smallmonth:=formatfloat('0.00',small);<br>
{---------------------------------}<br>
dianweizhi :=pos('.',Smallmonth);{小数点的位置}<br>
{循环小写货币的每一位,从小写的右边位置到左边}<br>
for qian:=length(Smallmonth) downto 1 do<br>
begin<br>
{如果读到的不是小数点就继续}<br>
if qian<>dianweizhi then<br>
begin<br>
{位置上的数转换成大写}<br>
case strtoint(copy(Smallmonth,qian,1)) of<br>
1:wei1:='壹'; 2:wei1:='贰';<br>
3:wei1:='叁'; 4:wei1:='肆';<br>
5:wei1:='伍'; 6:wei1:='陆';<br>
7:wei1:='柒'; 8:wei1:='捌';<br>
9:wei1:='玖'; 0:wei1:='零';<br>
end;<br>
{判断大写位置,可以继续增大到real类型的最大值}<br>
case qianwei of<br>
-3:qianwei1:='厘';<br>
-2:qianwei1:='分';<br>
-1:qianwei1:='角';<br>
0 :qianwei1:='元';<br>
1 :qianwei1:='拾';<br>
2 :qianwei1:='佰';<br>
3 :qianwei1:='千';<br>
4 :qianwei1:='万';<br>
5 :qianwei1:='拾';<br>
6 :qianwei1:='佰';<br>
7 :qianwei1:='千';<br>
8 :qianwei1:='亿';<br>
9 :qianwei1:='十';<br>
10:qianwei1:='佰';<br>
11:qianwei1:='千';<br>
end;<br>
inc(qianwei);<br>
BigMonth :=wei1+qianwei1+BigMonth;{组合成大写金额}<br>
end;<br>
end;<br>
SmallTOBig:=BigMonth;<br>
end;<br>
调用如下“edit1.text:=SmallTOBig(1234567890.1234);”他自动默认小数点后两位<br>
<br>
uses<br>
windows, {加入该句才能调用函数}<br>
Forms,<br>
Unit1 in 'Unit1.pas'{Form1};<br>
<br>
{$R *.RES}<br>
const classname='TForm1'; {声明为主窗体的类名}<br>
var handle:integer; {变量}<br>
<br>
begin<br>
{-----------------主要为该判断部分----------------------}<br>
handle:=findwindow(classname,nil);{查找是否有此类的窗体}<br>
if handle<>0 then {不为0则程序已运行}<br>
begin<br>
messagebox(0,'该程序已经有一个在运行中!','运行',0);{提示程序已运行}<br>
halt; {退出程序}<br>
end;<br>
{------------------------------------------------------}<br>
Application.Initialize;<br>
Application.CreateForm(TForm1, Form1);<br>
Application.Run;<br>
end.<br>
该程序在测试时由于Delphi也生成了此类实例窗体,所以会出现提示框,只有关闭Delphi后单独运行程序才能实现。
</p>
<hr color="#EE9B73" size="1" width="94%">
</TD>
</TR>
</table>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -