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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章