絕對值
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);