js浮点数格式化

js格式化浮点数的方法
//主调了函数
function formatfloat(f,size)
{
var tf=formatfloat1(f,size);
var sf=""+tf;
//alert(tf);
return formatfloat2(sf,size);
}

//对浮点数格式化,防止出现0.99999998的现象(f为浮点数,size中保留小数位数)
function formatfloat1(f,size)
{
    var tf=f*Math.pow(10,size);
    tf=Math.round(tf+0.000000001);
    tf=tf/Math.pow(10,size);
    return tf;
}

//格式化浮点数字符串,保证其有给定的小数位数。其中f是浮点数的字符串常量,size是保留小数位数
function formatfloat2(f,size)
{
    aa=f.split("");
    var varchar="";
    var num=0,k=0; //num是已得小数点位数,K用来作是否到小数点控制
    for(var i=0;i<aa.length;i++)
    {
       varchar+=aa[i];
       if(aa[i]==".")
       {
        k=1;
       }
       if(k==1)
       {
        num++;
        if(num > size) break;
   
       }
  
    }
    num--;
    for(;num<size;num++) //如果位数不够,则补0
    {
       varchar+="0";
    }

    return varchar;
}




简易方法
var num=34.4554;
alert(num.toFixed(2));

你可能感兴趣的:(js,浮点数,格式化)