谁能提供将小写金额转换为大写金额的函数?或者转换下面的pascal函数到javascript?
Function TKAIMoney.TurnMoneyStr:String; //*** 将数值转换成Money字符串 ***
var ChineseNumber:array [1..9,0..3] of string[4];
JiaoNumber,FenNumber:array [1..9] of string[4];
i,WhereP,T,PT:integer;
TempString,StrZheng:string;
SString,DString:String;
begin
SString:=FloatToStr(fMoneyNumber);
ChineseNumber[1,0]:='壹';
ChineseNumber[1,1]:='壹拾';
ChineseNumber[1,2]:='壹佰';
ChineseNumber[1,3]:='壹仟';
ChineseNumber[2,0]:='贰';
ChineseNumber[2,1]:='贰拾';
ChineseNumber[2,2]:='贰佰';
ChineseNumber[2,3]:='贰仟';
ChineseNumber[3,0]:='叁';
ChineseNumber[3,1]:='叁拾';
ChineseNumber[3,2]:='叁佰';
ChineseNumber[3,3]:='叁仟';
ChineseNumber[4,0]:='肆';
ChineseNumber[4,1]:='肆拾';
ChineseNumber[4,2]:='肆佰';
ChineseNumber[4,3]:='肆仟';
ChineseNumber[5,0]:='伍';
ChineseNumber[5,1]:='伍拾';
ChineseNumber[5,2]:='伍佰';
ChineseNumber[5,3]:='伍仟';
ChineseNumber[6,0]:='陆';
ChineseNumber[6,1]:='陆拾';
ChineseNumber[6,2]:='陆佰';
ChineseNumber[6,3]:='陆仟';
ChineseNumber[7,0]:='柒';
ChineseNumber[7,1]:='柒拾';
ChineseNumber[7,2]:='柒佰';
ChineseNumber[7,3]:='柒仟';
ChineseNumber[8,0]:='捌';
ChineseNumber[8,1]:='捌拾';
ChineseNumber[8,2]:='捌佰';
ChineseNumber[8,3]:='捌仟';
ChineseNumber[9,0]:='玖';
ChineseNumber[9,1]:='玖拾';
ChineseNumber[9,2]:='玖佰';
ChineseNumber[9,3]:='玖仟';
JiaoNumber[1]:='壹角';
JiaoNumber[2]:='贰角';
JiaoNumber[3]:='叁角';
JiaoNumber[4]:='肆角';
JiaoNumber[5]:='伍角';
JiaoNumber[6]:='陆角';
JiaoNumber[7]:='柒角';
JiaoNumber[8]:='捌角';
JiaoNumber[9]:='玖角';
FenNumber[1]:='壹分';
FenNumber[2]:='贰分';
FenNumber[3]:='叁分';
FenNumber[4]:='肆分';
FenNumber[5]:='伍分';
FenNumber[6]:='陆分';
FenNumber[7]:='柒分';
FenNumber[8]:='捌分';
FenNumber[9]:='玖分';
WhereP:=0;
StrZheng:='圆';
for i:=1 to Length(SString) do
if SString[i]='.' then WhereP:=i;
if WhereP=0 then
begin
WhereP:=Length(SString)+1;
StrZheng:='圆整';
end;
PT:=0;{表示前一个字符的值}
TempString:='';
if not((WhereP=1)or(WhereP=2))then
begin
for i:=1 to WhereP-1 do
begin
if SString[WhereP-i]='-'
then TempString:='负'+TempString
else begin
if SString[WhereP-i]='0' then
begin
if (i=5)or(i=9) then
begin
if i=5 then TempString:='万'+TempString;
if i=9 then TempString:='亿'+TempString;
end
else begin
if PT<>0 then TempString:='零'+TempString;
end;
end
else begin
if (i=5)or(i=9) then
begin
T:=(i mod 4)-1;
if T=-1 then T:=3;
if i=5 then TempString:=ChineseNumber[StrToInt(SString[WhereP-i]),T]+'万'+TempString;
if i=9 then TempString:=ChineseNumber[StrToInt(SString[WhereP-i]),T]+'亿'+TempString;
end
else begin
T:=(i mod 4)-1;
if T=-1 then T:=3;
TempString:=ChineseNumber[StrToInt(SString[WhereP-i]),T]+TempString;
end;
end;
end;
if SString[WhereP-i]<>'-' then PT:=StrToInt(SString[WhereP-i]);
end;
end;
{ else begin
if Length(SString)>WhereP then
begin
if WhereP=1 then TempString:='零'+TempString;
if WhereP=2 then
begin
if SString[1]='-' then TempString:='负零'+TempString
else TempString:=ChineseNumber[StrToInt(SString[1]),0]+TempString;
end;
end;
end;}
if WhereP=2 then
begin
TempString:=ChineseNumber[StrToInt(SString),0];
if SString='0' then TempString:='零';
end;//<- end if
//______________________
if SString<>'' then TempString:=TempString+StrZheng;//'圆';
if (WhereP<>0) then
begin
if (Length(SString)-WhereP)>0 then
begin
if SString[WhereP+1]<>'0' then
TempString:=TempString+JiaoNumber[StrToInt(SString[WhereP+1])];
if (Length(SString)-WhereP)>1 then
begin
if SString[WhereP+2]<>'0' then
TempString:=TempString+FenNumber[StrToInt(SString[WhereP+2])];
end;
end;
//____________
end;
if SString<>'' then DString:=TempString
else DString:='';
TurnMoneyStr:=DString;
end;