早此日子,寫了個數字轉為金額的,今天在電腦上找到的,雖然網上這類代碼很多,但畢竟花了些心思,所以在此記上,javascript實現的,代碼如下:
<
html
>
<
body
>
<
form
>
?
<
input?type
=
"
text
"
?value
=
"
1034354.245
"
?name
=
"
text1
"
/>
?
<
input?type
=
"
button
"
?value
=
"
out
"
?onclick
=
"
piliskys()
"
/>
</
form
>
</
body
>
</
html
>
<
script
>
function
?piliskys()
{
?
var
?test1
=
?document.all.text1.value;
???????

if
(isNaN(test1))?
{
alert(
"
不是一個有效的數字,請重新輸入!
"
);
}
else
?creat();

}
function
?creat()
{

var
?test1
=
?document.all.text1.value;
?
var
?money1?
=
?
new
?Number(test1);

?
if
(money1
>
?
1000000000000000000
)?
{
alert(
"
你輸入的數字太大,重新輸入!
"
);
return
;
}
?
var
?monee??
=
?Math.round(money1
*
100
).toString(
10
)
?
var
?i,j;?
????j
=
0
;
????
????
var
?leng?
=
?monee.length;
?
var
?monval
=
""
;
?
for
(?i
=
0
;i
<
leng;i
++
)


?
{
?monval
=
?monval
+
to_upper(monee.charAt(i))
+
to_mon(leng
-
i
-
1
);
?}
?repace_acc(monval);
?????????
}
?
function
?to_upper(?a)

?
{

?
switch
(a)
{
?????
case
?'
0
'?:?
return
?'零';?
break
;
?????
case
?'
1
'?:?
return
?'壹';?
break
;
?????
case
?'
2
'?:?
return
?'貳';?
break
;
?????
case
?'
3
'?:?
return
?'叁';?
break
;
?????
case
?'
4
'?:?
return
?'肆';?
break
;
?????
case
?'
5
'?:?
return
?'伍';?
break
;
?????
case
?'
6
'?:?
return
?'陸';?
break
;
?????
case
?'
7
'?:?
return
?'柒';?
break
;
?????
case
?'
8
'?:?
return
?'捌';?
break
;
?????
case
?'
9
'?:?
return
?'玖';?
break
;
?????
default
:??
return
?''?;
??????}
?}
?
function
?to_mon(a)
{

?
if
(a
>
10
)
{?a
=
a?
-
?
8
;
?
return
(to_mon(a));}
?
switch
(a)
{
?????
case
?
0
?:?
return
?'分';?
break
;
?????
case
?
1
?:?
return
?'角';?
break
;
?????
case
?
2
?:?
return
?'元';?
break
;
?????
case
?
3
?:?
return
?'拾';?
break
;
?????
case
?
4
?:?
return
?'佰';?
break
;
?????
case
?
5
?:?
return
?'仟';?
break
;
?????
case
?
6
?:?
return
?'萬';?
break
;
?????
case
?
7
?:?
return
?'拾';?
break
;
?????
case
?
8
?:?
return
?'佰';?
break
;
?????
case
?
9
?:?
return
?'仟';?
break
;
?????
case
?
10
?:?
return
?'億';?
break
;
??
?????????}
?}
????
function
?repace_acc(Money)
{??
????Money
=
Money.replace(
"
零分
"
,
""
);
????Money
=
Money.replace(
"
零角
"
,
"
零
"
);???????
??
var
?yy;
??
var
??outmoney;
??outmoney
=
Money;
??yy
=
0
;

??
while
(
true
)
{
??
var
?lett
=
?outmoney.length;
??outmoney
=
?outmoney.replace(
"
零元
"
,
"
元
"
);????????????????????????????????????????????????????????????????????????????????????
??outmoney
=
?outmoney.replace(
"
零萬
"
,
"
萬
"
);????????????????????????????????????????????????????????????????????????????????????
??outmoney
=
?outmoney.replace(
"
零億
"
,
"
億
"
);
??outmoney
=
?outmoney.replace(
"
零仟
"
,
"
零
"
);????
??outmoney
=
?outmoney.replace(
"
零佰
"
,
"
零
"
);????
??outmoney
=
?outmoney.replace(
"
零零
"
,
"
零
"
);
??outmoney
=
?outmoney.replace(
"
零拾
"
,
"
零
"
);
??outmoney
=
?outmoney.replace(
"
億萬
"
,
"
億零
"
);
??outmoney
=
?outmoney.replace(
"
萬仟
"
,
"
萬零
"
);
??outmoney
=
?outmoney.replace(
"
仟佰
"
,
"
仟零
"
);????
??yy
=
?outmoney.length;
??
if
(yy
==
lett)?
break
;
??
????????????}
??yy?
=
?outmoney.length;

??
if
?(?outmoney.charAt(yy
-
1
)
==
'零')
{
??outmoney
=
outmoney.substring(
0
,yy
-
1
);
??}
???yy?
=
?outmoney.length;

??
if
?(?outmoney.charAt(yy
-
1
)
==
'元')
{
??outmoney
=
outmoney?
+
'整';
??}
???alert(outmoney);


????}
</
script
>