网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网页制作 > Javascript
网页制作:Dreamweaver教程,FrontPages教程,Javascript教程,HTML教程,CSS教程,心得技巧,DHTML教程,网页特效,Discuz!论坛
本月文章推荐
.5个有趣的IE浏览器地址栏JavaScr.
.javaScript对象和属性.
.通过JAVAScript实现页面自适应.
.URL编码转换,escape() encodeURI.
.javascript定义类和实例化类.
.Javascript页面宽度高度.
.javascript实现四个重叠DIV切换功.
.按比例微缩图片的一段小小的JS代.
.浅谈JavaScript中面向对象技术的.
.用javascript实现select的美化.
.用来实现Web页面图片移动托拽的代.
.全面理解javascript的caller,cal.
.Javascript代码混淆综合解决方案.
.javascript中的关键字和保留字.
.象调试C#程序一样调试JavaScript.
.PHP与JavaScript对多项选择的处理.
.Javascript设计网页中的下拉菜单.
.跨页面postback时传递JavaScript.
.JavaScript 调用 Asp.Net 服务器.
.Javascript实例教程(2) 创建折叠.

JavaScript中float的减法与乘法计算错误问题

发表日期:2008-11-5


if(typeof(Number.prototype.toFixed)!="function")
{
    Number.prototype.toFixed = function(d)
    {
        var s=this+"";if(!d)d=0;
        if(s.indexOf(".")==-1)s+=".";s+=new Array(d+1).join("0");
        if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0,"+ (d+1) +"})?)\\d*$").test(s))
        {
            var s="0"+ RegExp.$2, pm=RegExp.$1, a=RegExp.$3.length, b=true;
            if (a==d+2){a=s.match(/\d/g); if (parseInt(a[a.length-1])>4)
            {
                for(var i=a.length-2; i>=0; i--) {a[i] = parseInt(a[i])+1;
                if(a[i]==10){a[i]=0; b=i!=1;} else break;}
            }
            s=a.join("").replace(new RegExp("(\\d+)(\\d{"+d+"})\\d$"),"$1.$2");
        }if(b)s=s.substr(1);return (pm+s).replace(/\.$/, "");} return this+"";
    };
}
0.009.toFixed(2)本该返回0.01的结果,可它却返回了一个0.00,这是这个方法的一个BUG,且这个方法对客户端的JS版本要求有点偏高,至少在IE5.0里这个方法用不起来,所以我写了上面的一段修正代码,并且还解决了这个BUG的问题。若是想完全使用这个自定义的方法替代那个有BUG的系统方法的话,只需要去掉最外层的那个 if 判断就可以了。
上一篇:javascript捕获窗口关闭事件 人气:626
下一篇:用javascript屏蔽链接URL的显示 人气:440
浏览全部JavaScript的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐