function totalPrice(id){
var price=document.getElementById("inprice"+id).value;

var num= document.getElementById("inadd"+id).value;
if(!(isNaN(price)||isNaN(num))){
sum=price*num;
document.getElementById("totalprice"+id).value=sum;
}else{
alert("请输入数据!");
}
}//
假如price=7.6,num=7 sum=53.1999999999999999;实际要得到的是53.2,这该怎么解决啊?

解决方案 »

  1.   

    document.getElementById("totalprice"+id).value=sum.toFixed(1);
      

  2.   

    function  cheng(num,n)  
    {var  dd=1;  
    var  tempnum;  
    for(i=0;i<n;i++)  
    {  
    dd*=10;  
    }  
    tempnum=num*dd;  
    tempnum=Math.round(tempnum);  
    alert(tempnum/dd);  
    }  
    里面的两个参数:num就是要转换的数据。n为要转换的位数  
    ---------------------------------------------------------------  /*  
    *    ForDight(Dight,How):数值格式化函数,Dight要  
    *    格式化的  数字,How要保留的小数位数。  
    */  
    function  ForDight(Dight,How)  
    {  
               Dight  =  Math.round  (Dight*Math.pow(10,How))/Math.pow(10,How);  
               return  Dight;  
    }  
    alert(ForDight(12345.67890,2));  用这个四舍五入函数试试