您的位置:首页 > 编程语言 > PHP开发

PHP5薄荷教程[15]数学函数

2008-02-22 18:52 423 查看
一、数值进制转换
string decbin(int number) 十进制转换为二进制
number bindec(string binary_string) 二转十
string decoct(int number) 十转八
number octdec(string octal_string) 八转十
string dechex(int number) 十转十六
number hexdec(string hex_string) 十六转十
string base_convert(string number, int frombase, int tobase)
  number是要转换的数,frombase是原进制,tobase是转换后的进制。如base_convert('13',10,2)相当于decbin(13)。

二、科学计算
1、绝对值
number abs(mixed number)
  返回number的绝对值。
2、三角函数
float tan(float arg) 正切
float sin(float arg) 正弦
float cos(float arg) 余弦
float atan(float arg) 反正切
float asin(float arg) 反正弦
float acos(float arg) 反余弦
float pi(void) 圆周率(或直接使用常量M_PI)
float deg2rad(float number) 角度制转为弧度制(2=to)
float rad2deg(float number) 弧度制转为角度制
3、指数运算
number pow(number base,number exp)
  base为底数,exp为幂。而pow(2,4)相当于2^4。
4、对数运算
float log(float arg [,float base])
  arg为真数,base为底数。如log(5,2)就是以2为底的5的对数。
5、开方运算
float sqrt(float arg)
  返回arg的平方根。

三、随机数
1、libcs随机数(传统)
int rand([int min, int max])
  生成介于min和max之间的随机整数(包括min和max),如rand(1,3)就可能生成1、2、3这三种情况。如果没有指定min和max,则生成介于0和getrandmax()之间的随机整数。如果希望生成比getrandmax()更大的随机数,请设置min和max。
int getrandmax(void)
  返回rand()能取到的最大值,如在Windows平台下是32768。
2、mt随机数(新兴)
int mt_rand([int min, int max])
  生成介于min和max之间的随机整数(包括min和max),如rand(1,3)就可能生成1、2、3这三种情况。如果没有指定min和max,则生成介于0和mt_getrandmax()之间的随机整数。如果希望生成比mt_getrandmax()更大的随机数,请设置min和max。
int mt_getrandmax(void)
  返回mt_rand()能取到的最大值。

四、四舍五入、取整和取余
float round(float val [,int precision])
  对val进行四舍五入,并根据precision确定保留小数点后几位。如round(4.2)等于4;round(3.625,1)等于3.6。
float floor(float value)
  舍尾取整,如floor(3.99)等于3。
float ceil(float value)
  尽进取整,如ceil(3.01)等于4。
float fmod(float x, float y)
  浮点数的取余运算,如果x、y都是整数,则fmod(x,y)相当于x%y;如果x、y不都是整数,则按照浮点数的运算法则来取余。如fmod(5,1.3)等于1.1,因为5=1.3*3+1.1。

五、比较大小
mixed max(number arg1 ,number arg2 [,number...])
mixed max(array numbers)
  返回最大值。但要注意下面的用法:$val = max(array(2, 4, 8), array(2, 5, 7)),这样$val=array(2, 5, 7)。因为如果操作数都是数字,PHP会逐个比较,一经比出,后面就忽略了。
mixed min(number arg1 ,number arg2 [,number...])
mixed min(array numbers)
  返回最大值。注意事项和max()一样。

六、判断数值是否合法
bool is_finite(float val)
  判断val是否未超过界限(即系统所能表达的最大值)。
bool is_infinite(float val)
  判断val是否超过界限。
bool is_nan(float val)
  判断val是否不存在,如is_nan(acos(1.01))将返回true。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: