php对数字的处理函数

绝对值
number abs(number); number的绝对值,若$number为float,则返回类型也是float,否则返回integer

var_dump(abs(-2.3)); //float(2.3) 
var_dump(abs(5));    //int(5) 
var_dump(abs(-2));   //int(2) 

向上和向下取整
ceil ( $value ) 进一法取整
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。

echo ceil(4.3);      // 5
echo ceil(9.999);    // 10
echo ceil(-3.12);    // -3
var_dump(ceil(9));   //float(9) 

float floor ( float $value ) 舍去法取整
返回不大于 value 的最接近的整数,舍去小数部分取整。

echo floor(4.3);     // 4
echo floor(9.999);   // 9
echo floor(-3.14);   // -4
var_dump(floor(9));  //float(9) 

舍入

float round (float $val[,int $precision = 0[,int $mode = PHP_ROUND_HALF_UP]])
对浮点数进行四舍五入
返回将val根据指定精度precision(十进制小数点后数字的数目)进行四舍五入的结果。
precision也可以是负数或零(默认值)。
mode 以下之一:
PHP_ROUND_HALP_UP、PHP_ROUND_HALF_DOWN、PHP_ROUN_HALF_EVEN、
PHP_ROUND_HALF_ODD

note:PHP默认不能正确处理类似“12,234,543.89”的字符串(将字符串转换为数值处理)
例如:

echo round(1,241,757.0, -3);
warning:round() expects at most 3 parameters,4 given in 
F:\xxx\number.php on line 20 

其他情况

echo round(3.4);                  // 3
echo round(3.5);                  // 4
echo round(3.6);                  // 4
echo round(3.6, 0);               // 4
echo round(1.95583, 2);           // 1.96
echo round(1241757, -3);          // 1242000
echo round(5.045, 2);             // 5.05
echo round(5.055, 2);             // 5.06
var_dump(round(1241757, -3));   //float(1242000) 

数字系统

decbin(int $number)           //十进制转换为二进制
bindec(string $binary_string) //二进制转换为十进制
dechex(int $number)           //十进制转换为十六进制
hexdec(string $hex_string)    //十六进制转换为十进制
decoct(int $number)           // 十进制转换为八进制
octdec(string  $octal_string) //八进制转换为十进制
base_convert( string $number )//在任意进制之间转换数字

基本三角函数

float sin ( float arg)       //以弧度为单位的arg的正弦值
float cos ( float arg)       //以弧度为单位的arg的余弦值
float tan ( float arg)       //以弧度为单位的arg的正切值
float asin ( float arg)      //以弧度为单位的arg的反正弦值
float acos ( float arg)      //以弧度为单位的arg的反余弦值
float atan ( float arg)      //以弧度为单位的arg的反正切值
float deg2rad ( float arg)   //转换arg角度为弧度
float rad2deg ( float arg)   //转换arg弧度为角度

幂与对数

float exp(float arg)              //e的arg次幂
float pow(float base,number exp)  //指数表达式base的exp次幂
float sprt(float arg)             //arg的平方根
float log(float arg[,float base]) 
//arg的自然对数,如果指定了base,则函数返回值为log(arg)/log(base)
float log10(float arg)            //arg以10为底的对数

检查数字结果

bool is_nan ( float $val )      //判断是否为合法数值
如果 val 为“非数值”,例如 acos(1.01) 的结果,则返回 TRUE。
bool is_finite ( float $val )   //判断是否为有限值
检查 val 是否是是本机平台上浮点数所允许范围中的一个合法的有限值,如果是,则返回true
bool is_infinite ( float $val ) //判断是否为无限值
如果 val 为无穷大(正的或负的),例如 log(0) 的结果或者任何超出本平台的浮点数范围的值,
则返回 TRUE。

产生随机数

int rand(void)
int rand(int $min,int $max)
如果没有提供可选参数min,maxrand()返回0到getrandmax()之间的伪随机整数

note:在某些平台,getrandmax()只有32767.如果需要的范围大于32767,则可通过指定参数来实现,或者考虑用mt_rand()
例如:

var_dump(rand());      //int(1387) 
echo rand(5, 15);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章