?? 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 + -