我想将类似123.45的数字字符串转化为“1百2十3点45”,如何实现呀?自己写代码好像很烦,谁能帮我,多多给分呦!
解决方案 »
- 涵数定义实现问题
- 关于控制其它外部程序
- 武汉用delphi的公司多吗?待遇如何?4.5年工作经验,3K的月薪算不算高?
- 使用IShellLink访问快捷方式,需要包含什么单元
- 我的dbgrideh的全选代码,为什么这么慢?请帮忙看看
- 有关存储问题?
- 50分 怎样用Bitmap加载Imagelist里的图片
- 请教:ADO 连接 SQL Server 问题
- 请问哪有Gexperts 可以下载?
- 有一个dll在delphi有问题,但是在BCB调用就没有问题。(个DLL是短信协议CMPP1.2版本的dll)
- 怎么把TJPEGImage中的图片调入canvas中编辑后再由TJPEGImage保存成jpeg
- 转化问题
function xTOd(i:Real):string;
const
d='零壹贰叁肆伍陆柒捌玖分角元拾佰仟万拾佰仟亿';
var
m,k:string;
j:integer;
begin
k:='';
m:=floattostr(int(i*100));
for j:=length(m) downto 1 do
k:=k+d[(strtoint(m[Length(m)-j+1])+1)*2-1]+
d[(strtoint(m[Length(m)-j+1])+1)*2]+d[(10+j)*2-1]+d[(10+j)*2];
xTOd:=k;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// sum:=12.34;
showmessage('人民币大写:'+xTod(strtofloat(edit1.text)));
end;
unit rmb;interfacefunction NumToUpper(const num:real):string;implementation
uses SysUtils;function NumToUpper(const num:real):string;
var aa,bb,cc:string;
bbb:array[1..16]of string;
uppna:array[0..9] of string;
i:integer;
begin bbb[1]:='万';
bbb[2]:='仟';
bbb[3]:='佰';
bbb[4]:='拾';
bbb[5]:='亿';;
bbb[6]:='仟';;
bbb[7]:='佰';
bbb[8]:='拾';
bbb[9]:='万';
bbb[10]:='仟';
bbb[11]:='佰';
bbb[12]:='拾';
bbb[13]:='元';
bbb[14]:='.';
bbb[15]:='角';
bbb[16]:='分';
uppna[1]:='壹';
uppna[2]:='贰';
uppna[3]:='叁';
uppna[4]:='肆';
uppna[5]:='伍';
uppna[6]:='陆';
uppna[7]:='柒';
uppna[8]:='捌';
uppna[9]:='玖';
Str(num:16:2,aa);
cc:='';
bb:='';
result:='';
for i:=1 to 16 do
begin
cc:=aa[i];
if cc<>' ' then
begin
bb:=bbb[i];
if cc='0' then
cc:='零'
else
begin
if cc='.' then
begin
cc:='';
bb:='';
end
else
begin
cc:=uppna[StrToInt(cc)];
end
end;
result:=result+(cc+bb)
end;
end;
result:=result+'正';
end;end.