首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

一个金额小写转大写的函数,求教怎么显示

2013-03-21 
一个金额小写转大写的函数,求教如何显示?!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN

一个金额小写转大写的函数,求教如何显示?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language=javascript> 
<!-- 
function Arabia_to_Chinese(number)
{
var i = 0;
var Mum = number;
for(i=Num.length-1;i>=0;i--)
{
Num = Num.replace(",","")//替换tomoney()中的“,”
Num = Num.replace(" ","")//替换tomoney()中的空格
}
Num = Num.replace("¥","")//替换掉可能出现的¥字符
if(isNaN(Num))
{//验证输入的字符是否为数字
alert("请检查小写金额是否正确");
return;
}
   //---字符处理完毕,开始转换,转换采用前后两部分分别转换---//
   var part = String(Num).split(".");
   var newchar = ""; 
   //小数点前进行转化
for(i=part[0].length-1;i>=0;i--)
{
if(part[0].length > 10)
{
alert("位数过大,无法计算");return "";
}//若数量超过拾亿单位,提示
var tmpnewchar = ""
var perchar = part[0].charAt(i);
switch(perchar)
{
case "0":
tmpnewchar="零" + tmpnewchar;
return document.write(tmpnewchar);
break;
case "1":
tmpnewchar="壹" + tmpnewchar;
return tmpnewchar;
case "2":
tmpnewchar="贰" + tmpnewchar;
return tmpnewchar;
}
}
}
--> 
</script> 
</head>
<body>

<script language="javascript">
Arabia_to_Chinese(0);
</script>
</body>
</html>

测试什么都没显示,求指教哪里写错了?
[解决办法]
//var Mum = number;
var Num = number.toString();//变量名称错了并且要转为string

[解决办法]
    function parseChinese(n) {
        var c = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
        var p = ["分","角","元","拾","百","千","万","拾","百","千","亿","拾","百","千"];
        var temp = (/^(0
[解决办法]
[1-9])\d*(\.\d+)?$/).test(n)? n : null;
        var i = -1,result = null;
        if(temp) {
            temp = parseFloat(temp).toFixed(2);
            i = (/\.\d+$/).test(temp)? -1 : 1;
            result = temp.toString().replace(/\./g, "").split("").reverse().join("").replace(/\d/g, function(a) {i++; return p[i] + c[a]}).split("").reverse().join("").replace(/零(千
[解决办法]

------解决方案--------------------



[解决办法]
角)/g, "零").replace(/(零)+/g, "零").replace(/(千
[解决办法]

[解决办法]
拾)零(元
[解决办法]

[解决办法]
亿)/g,"$1$2").replace(/(亿零)万/g, "$1").replace(/(万零)元/g, "$1").replace(/(零)+/g, "零").replace(/(亿)零(元)/g, "$1$2").replace(/(零角)*零分$/g, "整");
        }
        return result;
    }
    alert(parseChinese(1234567.89));


[解决办法]
你只是 return了,并没有显示出来啊。。。

等于你考试在草纸上算了半天没写到考卷上一样。。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language=javascript> 
<!-- 
function Arabia_to_Chinese(number)
{
    var i = 0;
    var Mum = number;
    for(i=Num.length-1;i>=0;i--)
    {
        Num = Num.replace(",","")//替换tomoney()中的“,”
        Num = Num.replace(" ","")//替换tomoney()中的空格
    }
    Num = Num.replace("¥","")//替换掉可能出现的¥字符
    if(isNaN(Num))
    {//验证输入的字符是否为数字
        alert("请检查小写金额是否正确");
        return;
    }
   //---字符处理完毕,开始转换,转换采用前后两部分分别转换---//
   var part = String(Num).split(".");
   var newchar = ""; 
   //小数点前进行转化
    for(i=part[0].length-1;i>=0;i--)
    {
        if(part[0].length > 10)
        {
            alert("位数过大,无法计算");return "";
        }//若数量超过拾亿单位,提示
        var tmpnewchar = ""
        var perchar = part[0].charAt(i);
        switch(perchar)
        {
            case "0":
                tmpnewchar="零" + tmpnewchar;
                return document.write(tmpnewchar);
                break;
            case "1":
                tmpnewchar="壹" + tmpnewchar;


                return tmpnewchar;
            case "2":
                tmpnewchar="贰" + tmpnewchar;
                return tmpnewchar;
        }
    }
}
--> 
</script> 
</head>
<body>
 <div id="result"></div>
<script language="javascript">
document.getElementById('result').innerHTML = Arabia_to_Chinese(0);
</script>
</body>
</html>


[解决办法]
哈,没仔细看代码。。

0的时候有document.write了。。

仔细看了下代码。

首先第11行,Mum应该是笔误,应该是Num

其次Num是数字不是字符串,没有replace方法,要转换一下,Num = number+'',或者像楼上的number.toString()

热点排行
Bad Request.