<script>
data="123.45678";
if(data.indexOf(".")>-1)
if(data.indexOf(".")<data.length-4)
data=data.substr(0,data.indexOf(".")+4);
alert(data);
</script>

解决方案 »

  1.   

    <script>
    alert(1.23456.toFixed(3))
    </script>toFixed()方法要求版本高,最好使用
    <script>
    alert(Math.round(1.23456*1000)/1000)
    </script>
      

  2.   

    我这里有个函数你可以直接用
    function funMathRound(str, iPrec)
    {
    var re,p;
    var temp;
    var iTemp = 1;
    var fTemp = 0.0;

    re = /\./i;  
    for (var iTag = 0; iTag < iPrec; iTag++) 
    {
    iTemp = iTemp * 10; 
    }

    str = str.toString();
    p = str.search(re);

    if(p == -1)
    return str;
    else
    {
    fTemp = Math.round(parseFloat(str) * iTemp)/iTemp;
    str = fTemp.toString();
    temp = str.substr(p + 1);
    if(temp.length > iPrec)
    {
    str = str.substr(0, p + iPrec + 1);
    }   
    return str;
    }
    }
    其中参数str是你要精确的数的字符串,iPrec是你要精确的精度
      

  3.   

    toFixed()要5。5或者以上版本才能使用