PHP与ECMAScript_4_常用数学相关函数

 

 

PHP

ECMAScript

向上取整 ceil($number) Math.ceil( number )
向下取整 floor($number) Math.floor( number )
绝对值 abs($number) Math.abs( number )
四舍五入 round($number,n)        Math.round( number )            只能四舍五入到整数
            n表示小数点向右保留位数,负数则向左保留  number.toFixed(n)               返回字符串,四舍五入保留n个小数
     
随机数 mt_rand($min,$max)      $min到$max之间随机整数    Math.random()                返回0到1之间的随机小数

ECMAScript中toFiexd问题

在ES中四舍五入的函数 toFixed(n) , n为要保留的小数位数。 n为0~20,当n超过20的时候,JS会出错。

如果小数点前和要截取的前一位都是0时,将会出现精度问题。而且FF与IE的规则也不同,有些是四舍五入,有些是四舍六入。

五会根据不同的情况而不同。

var num = 0.056;
alert (num.toFixed(1));  //会弹出0.0  或者0.1

可以试着重写tofixed方法。

Number.prototype.toFixed=function(len){
                var add = 0;
                var s,temp;
                var s1 = this + "";
                var start = s1.indexOf(".");
                if(s1.substr(start+len+1,1)>=5)add=1;
                var temp = Math.pow(10,len);
                s = Math.floor(this * temp) + add;
                return s/temp;
                }

这样,0,056就都可以直接转为0.1了。

参考链接:http://blog.csdn.net/nuptsv_ice/article/details/10493659

posted @ 2015-07-08 17:23  331415706  阅读(181)  评论(0编辑  收藏  举报