首页 > 编程 > PHP > 正文

php对数字的处理函数

2019-11-10 20:33:55
字体:
来源:转载
供稿:网友

绝对值 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); // 5echo ceil(9.999); // 10echo ceil(-3.12); // -3var_dump(ceil(9)); //float(9)

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

echo floor(4.3); // 4echo floor(9.999); // 9echo floor(-3.14); // -4var_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); // 3echo round(3.5); // 4echo round(3.6); // 4echo round(3.6, 0); // 4echo round(1.95583, 2); // 1.96echo round(1241757, -3); // 1242000echo round(5.045, 2); // 5.05echo round(5.055, 2); // 5.06var_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 是否是是本机平台上浮点数所允许范围中的一个合法的有限值,如果是,则返回truebool 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);
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表