PHP的数学函数整理

1、round()

对浮点数进行四舍五入;返回浮点数

#round(要四舍五入的数字,小数点后的位数,模式model)

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

model的例子

echo round(9.5, 0, PHP_ROUND_HALF_UP);   // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD);  // 9

echo round(8.5, 0, PHP_ROUND_HALF_UP);   // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD);  // 9
常量 描述
PHP_ROUND_HALF_UP 1 遇到.5的情况时向上舍入
PHP_ROUND_HALF_DOWN 2 遇到.5的情况时向下舍入
PHP_ROUND_HALF_EVEN 3 遇到.5的情况时取偶数舍入
PHP_ROUND_HALF_ODD 4 遇到.5的情况时奇数舍入

2、number_format()

以千位分隔符方式格式化一个数字,参数只能是一个、二个、四个;四个参数情况(预格式化的数,小数点位数,小数点标示,分隔符标示)

echo number_format("1000000");        //1,000,000
echo number_format("1000000",2);      //1,000,000.00
echo number_format("1000000",2,",",".");       ****//1.000.000,00

echo number_format(1234.5678, 2, '.', ''); // 1234.57

3、abs()

获取绝对值

$abs = abs(-4.2); // $abs = 4.2; (double/float)
$abs2 = abs(5);   // $abs2 = 5; (integer)
$abs3 = abs(-5);  // $abs3 = 5; (integer)

4、rand()

产生一个随机整数

5、mt_rand(min,max)

生成更好的随机数

echo mt_rand(1,20);

6、max()

返回一个数组中的最大值,或者几个指定值中的最大值;不要过分纠结字符串场景

echo max(1, 3, 5, 6, 7);  // 7
echo max(array(2, 4, 5)); // 5

7、min()

返回一个数组中的最小值,或者几个指定值中的最小值

8、pow()

返回数的n次方

echo pow(2,8);

9、fmod()

浮点数取余

$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);//0.5

10、float (value)

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

echo(floor(0.60)); //0
echo(floor(0.40)); //0
echo(floor(5));//5
echo(floor(5.1));//5
echo(floor(-5.1));//-6
echo(floor(-5.9))//-6

11、float ceil(float vlaue)

进一法取整数:返回不小于 value 的下一个整数,value 如果有小数部分则进一位。

echo(ceil(0.60); //1
echo(ceil(0.40);//1
echo(ceil(5);//5
echo(ceil(5.1);//6
echo(ceil(-5.1);//-5
echo(ceil(-5.9));//-5

12、sqrt()

求平方根;负数时返回 NAN

echo(sqrt(0)); //0
echo(sqrt(1));  //1
echo(sqrt(9));  //3
echo(sqrt(0.64)); //0.8
echo(sqrt(-9)); //NAN

13、pi()

返回圆周率的近似值

echo  pi();  // 3.1415926535898