1. 程式人生 > >ceil, floor, round

ceil, floor, round

三個函式都是浮點數取整

1.ceil 進一取整

float ceil(float $value) value 如果存在小數部分則進一

echo ceil(4.3) //5
echo ceil(4.8) //5

與之對應

2.floor 去法去整

float floor(float $value) value 捨去小數部分取整

echo floor(4.3) //4
echo floor(4.8) //5

3.round 對浮點數進行四捨五入

float round(float $val, int $precision = 0, int $mode)
precision //精確度
$mode = array(PHP_ROUND_HALF_ODD,
PHP_ROUND_HALF_EVEN,
PHP_ROUND_HALF_UP,
PHP_ROUND_HALF_DOWN);

PHP_ROUND_HALF_UP - 預設。遇到 .5 的情況時向上舍入 number 到 precision 小數位。舍入 1.5 到 2,舍入 -1.5 到 -2。
PHP_ROUND_HALF_DOWN - 遇到 .5 的情況時向下舍入 number 到 precision 小數位。舍入 1.5 到 1,舍入 -1.5 到 -1。
PHP_ROUND_HALF_EVEN - 遇到 .5 的情況時取下一個偶數值舍入 number 到 precision 小數位。
PHP_ROUND_HALF_ODD - 遇到 .5 的情況時取下一個奇數值舍入 number 到 precision 小數位。

echo round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000

4.number_float 以千分隔格式化數字

string number_format ( float $number [, int $decimals = 0 ] )

string number_format ( float $number , int $decimals = 0 , string $dec_point = “.” , string $

thousands_sep = “,” )

本函式可以接受1個、2個或者4個引數(注意:不能是3個):

如果只提供第一個引數,number的小數部分會被去掉 並且每個千位分隔符都是英文小寫逗號”,”

如果提供兩個引數,number將保留小數點後的位數到你設定的值,其餘同樓上

如果提供了四個引數,number 將保留decimals個長度的小數部分, 小數點被替換為dec_point,千位分隔符替換為thousands_sep

$number = 1234.56
echo number_format($number); //1,234
echo number_format($number, 2, ',', ''); //1234,56
$number = 1234.5678;
echo number_format($number, 2, '.', '');
//1234.57

5.型別轉換

intval() 獲取變數的整數值

int intval ( mixed var[,intbase = 10 ] )
轉換八進位制或者十六進位制時,var為string
echo intval(‘42’, 16)

echo intval(42); // 42
echo intval(4.2); // 4
echo intval(‘42’); // 42
echo intval(‘+42’); // 42
echo intval(‘-42’); // -42
echo intval(042); // 34
echo intval(‘042’); // 42
echo intval(1e10); // 1410065408
echo intval(‘1e10’); // 1
echo intval(0x1A); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // 0
echo intval(‘420000000000000000000’); // 2147483647
echo intval(42, 8); // 42
echo intval(‘42’, 8); // 34
echo intval(array()); // 0
echo intval(array(‘foo’, ‘bar’));

2.floatval()

3.boolval()

4.strval()

以上三種都是(引數mixed $value)