绝对值
number abs(
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,max,rand()返回0到getrandmax()之间的伪随机整数
note:在某些平台,getrandmax()只有32767.如果需要的范围大于32767,则可通过指定参数来实现,或者考虑用mt_rand()
例如:
var_dump(rand()); //int(1387)
echo rand(5, 15);