在CSDN回复的一个帖子!JS里将数字转换为中文的货币大写模式!
<script language="javascript">
function i2c(n){
if(typeof(n) == "number"){
if(-1 == n.toString().indexOf(".")){
return seti2c(n);
}else{
var i,istr,f,fstr,a,rstr;
a = n.toString().split(".");
i = a[0];
f = a[1];
istr = seti2c(i);
fstr = setf2c(f);
rstr = istr+fstr;
rstr = rstr.replace(/^圆/,"");
return rstr;
}
}else{
return "---";
}
}
function seti2c(n){
var ns = n.toString();
var tempstr = "";
for(var i=1;i<ns.length+1;i++){
switch(i){
case 1:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"圆"+tempstr;
}else{
tempstr = "圆"+tempstr;
}
break;
case 2:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"拾"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 3:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"佰"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 4:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"仟"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 5:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"万"+tempstr;
}else{
tempstr = "万"+tempstr;
}
break;
case 6:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"拾"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 7:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"佰"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 8:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"仟"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 9:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"亿"+tempstr;
}else{
tempstr = "亿"+tempstr;
}
break;
case 10:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"拾"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 11:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"佰"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
case 12:
var t = ns.substr(ns.length-i,1);
if(t!="0"){
tempstr = t+"仟"+tempstr;
}else{
tempstr = "0"+tempstr;
}
break;
default:break;
}
}
return g2b(tempstr);
}
function setf2c(n){
var ns = n.toString();
var tempstr = "";
for(var i=0;i<ns.length;i++){
switch(i){
case 0:
var t = ns.substr(i,1);
if(t!="0"){
tempstr += t+"角";
}else{
tempstr += "0";
}
break;
case 1:
var t = ns.substr(i,1);
if(t!="0"){
tempstr += t+"分";
}
break;
default:break;
}
}
return g2b(tempstr);
}
function g2b(s){
rs = s.replace(/0+/g,"0");
rs = rs.replace(/0(圆|万|亿)/g,"$1");
rs = rs.replace("亿万","亿");
rs = rs.replace(/0/g,"零");
rs = rs.replace(/1/g,"壹");
rs = rs.replace(/2/g,"贰");
rs = rs.replace(/3/g,"叁");
rs = rs.replace(/4/g,"肆");
rs = rs.replace(/5/g,"伍");
rs = rs.replace(/6/g,"陆");
rs = rs.replace(/7/g,"柒");
rs = rs.replace(/8/g,"捌");
rs = rs.replace(/9/g,"玖");
return rs;
}
document.write(i2c(2334210001.04));
</script>