/**
 *  格式化数字的函数
 *  [email protected]
 *  
 */
function formatnumber(num,dec){
if (dec>18) { alert("小位数不能超过18位"); }
var zerostr = "00000000000000000000";
var tmp_num = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
var tmp_str = tmp_num.toString();
var re_num = tmp_str;
var pos = (tmp_str.indexOf(".")==-1)? 0 : tmp_str.indexOf(".");
if (dec>0){
if (pos==0) { re_num = re_num+"."+zerostr.substring(0,dec); }
else {
if ((tmp_str.length-pos-1)<dec){
re_num = re_num+zerostr.substring(0,dec-(tmp_str.length-pos-1));
}
}
}
return re_num;
}
var a=123.45678;
alert(formatnumber(a,2));

解决方案 »

  1.   

    同意思, bluecoff(蓝咖啡),以前写的时候就是那样先*100,然后/100,如果想四舍五入的话,也可以。
    var totalmoney=doc.sum_jine.value;  //总金额
    var suil=doc.suil.value;//得到税率
    var suil_totalmoney=totalmoney*(suil/100)
        var int_totalmoney=Math.round(suil_totalmoney)//得到整数
        if(int_totalmoney>suil_totalmoney)
       {
         int_totalmoney=int_totalmoney - 1
       }
    var xs=suil_totalmoney-int_totalmoney    //得到小数部分
    var mod_money=Math.round(xs*100)  
       var shuie=int_totalmoney + mod_money/100  //得到税额
    var sum_jiashu=parseFloat(totalmoney) + parseFloat(shuie)
      

  2.   

    dim aa
    aa=FormatNumber("3.14159",2) 
    response.write aa
    response.end调试结果:3.14
      

  3.   

    Math.round(parseFloat(需要四舍五入的数据)*10)/10 这样是保留1位小数
    Math.round(parseFloat(需要四舍五入的数据)*100)/100 这样是保留两位小数
    Math.round(parseFloat(需要四舍五入的数据)*1000)/1000 这样就保留三位小数了,以此类推