PHP 常用的数学函数和数值处理函数

码农天地 -
PHP 常用的数学函数和数值处理函数
常用的数学函数
// 2个任意精度数字的加法
echo bcadd($a, $b, 2);

// 2个任意精度数字的减法
echo bcsub($a, $b, 2);

// 2个任意精度数字的乘法
echo bcmul($a, $b, 2);

// 2个任意精度数字的除法
echo bcdiv($a, $b, 2);

// 对一个任意精度数字取模(余数)
echo bcmod($a, $b);

// 一个任意精度数字的乘方
echo bcpow($a, $b, 2);

// 比较两个任意精度的数字,相等返回0,大于返回1,小于返回-1
echo bccomp($a, $b, 2);

使用数学函数有以下几个需要注意的地方:

bccomp 外,其他几个函数的返回值都是 string 类型;精度默认为0,对于精度后面小数部分的处理方式是直接去掉,而非四舍五入或进一法取整或舍去法取整;bccomp 会先处理精度再进行比较。常用的数值处理函数
// 进一法取整
echo ceil(4.3);    // 5
echo ceil(-3.64);  // -3

// 舍去法取整
echo floor(9.999); // 9
echo floor(-3.14); // -4

// 四舍五入
echo round(1.955, 2);  // 1.96
echo round(2.732, 2);  // 2.73

其中 round 有可选的第三个参数:

PHP_ROUND_HALF_UP 四舍五入(默认)PHP_ROUND_HALF_DOWN 五舍六入

使用示例:

// PHP_ROUND_HALF_UP 四舍五入
echo round(0.001, 2, PHP_ROUND_HALF_UP) . "\n";  // 0
echo round(0.003, 2, PHP_ROUND_HALF_UP) . "\n";  // 0
echo round(0.005, 2, PHP_ROUND_HALF_UP) . "\n";  // 0.01
echo round(0.007, 2, PHP_ROUND_HALF_UP) . "\n";  // 0.01
echo round(0.009, 2, PHP_ROUND_HALF_UP) . "\n";  // 0.01
// PHP_ROUND_HALF_DOWN 五舍六入
echo round(0.001, 2, PHP_ROUND_HALF_DOWN) . "\n";  // 0
echo round(0.003, 2, PHP_ROUND_HALF_DOWN) . "\n";  // 0
echo round(0.005, 2, PHP_ROUND_HALF_DOWN) . "\n";  // 0
echo round(0.007, 2, PHP_ROUND_HALF_DOWN) . "\n";  // 0.01
echo round(0.009, 2, PHP_ROUND_HALF_DOWN) . "\n";  // 0.01
对小数的取整处理
// 向上取整
echo ceil(0.051 * 100) / 100 . "\n";  // 0.06
echo ceil(0.053 * 100) / 100 . "\n";  // 0.06
echo ceil(0.055 * 100) / 100 . "\n";  // 0.06
echo ceil(0.057 * 100) / 100 . "\n";  // 0.06
echo ceil(0.059 * 100) / 100 . "\n";  // 0.06
// 向下取整
echo floor(0.051 * 100) / 100 . "\n";  // 0.05
echo floor(0.053 * 100) / 100 . "\n";  // 0.05
echo floor(0.055 * 100) / 100 . "\n";  // 0.05
echo floor(0.057 * 100) / 100 . "\n";  // 0.05
echo floor(0.059 * 100) / 100 . "\n";  // 0.05
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

php

扩展阅读

加个好友,技术交流

1628738909466805.jpg