JS 的浮点运算经常不精确,手工处理吧,:)<script>
var a = "0.1";
var b = "0.05";
var c = a*1 + b*1;
c = c.Fixed(2);
alert(c);function Number.prototype.Fixed(n){
  with(Math){
    var tmp=pow(10,n);
    return round(this*tmp)/tmp;
  }
}
</script>

解决方案 »

  1.   

    <script language="JavaScript">
    <!--
    //** power by fason
    function fxMultiply(a,b)
    {
    var f1 = String(a).split(".").length>1 ? String(a).split(".")[1].length : 0;
    var f2 = String(b).split(".").length>1 ? String(b).split(".")[1].length : 0;
    var aa = String(a).replace(/^0*|\./g,'');
    var bb = String(b).replace(/^0*|\./g,'');
    return Number(aa)*Number(bb)/Math.pow(10,f1+f2);
    }alert(fxMultiply(0.1,0.05));
    //-->
    </script>
      

  2.   

    bencalie(Bencalie) 的方法取了个近似值;
    阿信的方法不错,先称后除
    因为作加法用
    稍微修改了一下,如下:
    将   return Number(aa)*Number(bb)/Math.pow(10,f1+f2);
    替换为 
    return Number(aa*Math.pow(10,f2))+Number(bb*Math.pow(10,f1))/Math.pow(10,f1+f2);
    得到结果:)
    多谢了
      

  3.   

    var a = "0.1";
    var b = "0.05";
    var c = a*1 + b*1;c.toFixed(2);
    返回两位小树
      

  4.   


    <script language="JavaScript">
    <!-- 
    var a = "0.1";
    var b = "0.05";
    var c = a*1 + b*1;
    var d = c.toFixed(2);window.alert(d);
    //-->
    </script>