日期:2014-05-17  浏览次数:20829 次

js类型转换,怎么去掉小数点后面的0?

JScript code


 //小计  
  function sumMoney(){
       var bol=true;
       $("#tby2>tr").each(function (i,obj){
          
           var adUnitprice=$(obj).find("td:eq(4)>input").val();  //单价(元)
           var adCount=$(obj).find("td:eq(5)>input").val();  //数量(册)
               if(adUnitprice==""||isNaN(adUnitprice)){
                   $(obj).find("td:eq(4)>input").val("");
                   bol=false;
            }
            if(adCount==""||isNaN(adCount)){
                   $(obj).find("td:eq(5)>input").val("");
                   bol=false;
            }
            if(bol==true){
             [color=#FF0000] $(obj).find("td:eq(6)>input").val(parseFloat(adUnitprice*adCount));[/color]
            }
            
           });
           if(bol==true){
             sumMoney2();
           }
           
  }





(parseFloat(adUnitprice*adCount))  

假如:adUnitprice=0.8

adCount=3


这里得出来的值 有的时候是这样的:2.4000000000000003


我只想得到2.4

应该怎么做呢?





------解决方案--------------------
JScript code

var value = parseFloat(adUnitprice*adCount);
alert(value.toFixed(1));

------解决方案--------------------
<script>
function ForDight1(Dight,How) {
 Dight =(Dight*Math.pow(10,How)/Math.pow(10,How)).toFixed(How);
 return Dight;
}
alert(ForDight1(2.4000000000000003,2));
</script> 
网上的 没试过
------解决方案--------------------
function accMul(arg1,arg2) 

var m=0,s1=arg1.toString(),s2=arg2.toString(); 
try{m+=s1.split(".")[1].length}catch(e){} 
try{m+=s2.split(".")[1].length}catch(e){} 
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m) 

accMul(0.8,3);
Lz可以试试
------解决方案--------------------
可以先判断结果是否包含".",如果包含,则用substr取子串,小数点后保留一位即可。
------解决方案--------------------
那如果是2.0400003,你要得到的数据时什么呢?不知道你确定没确定,要去的的位数
------解决方案--------------------
hiahia
 3.44444 | 0 = 3