默认保留两位小数
bcadd(参数1,参数2,参数3)
参数1 和2 是要相加的参数 3是保留几位小数。
- bcadd 任意精度数的相加
- bcsub 任意精度数的减法
- bcmul 乘法, bcdiv除法
- bcmod 取余数。 (比%功能更强大)
- bcpow 幂函数运算
- bcsqrt 平方根
- sqrt 平方根运算
- pow求幂
- abs 求绝对值
- pi 得到圆周率数值
三角函数
sin cos tan asin acos atan(用弧度表达)
deg2rad 角度转换成弧度
rad2deg 弧度转换成角度
指数
log 求自然对数
log10 求10位底的对数
exp 以e为底的幂
各种数制转换
base_convert 通用的任意数制转换
bindec 二进制转换成十进制
decbin 十进制转换成二进制
dechex 十进制转换成十六进制
decoct 十进制转换成八进制
hexdec 十六进制转换成十进制
octdec 八进制转换成十进制
银行家舍入法
四舍六入五考虑,五后非空就进一,五后为空看奇偶,五前为偶应舍去,五前为奇要进一。
保留两位小数,例:
1.2849 = 1.28 -> 四舍
1.2866 = 1.29 -> 六入
1.2851 = 1.29 -> 五后非空就进一
1.2850 = 1.28 -> 五后为空看奇偶,五前为偶应舍去
1.2750 = 1.28 -> 五后为空看奇偶,五前为奇要进一
实现代码如下:
echo round(1.2849, 2, PHP_ROUND_HALF_EVEN);
//输出:1.28
echo round(1.2866, 2, PHP_ROUND_HALF_EVEN);
//输出:1.29
echo round(1.2851, 2, PHP_ROUND_HALF_EVEN);
//输出:1.29
echo round(1.2850, 2, PHP_ROUND_HALF_EVEN);
//输出:1.28
echo round(1.2750, 2, PHP_ROUND_HALF_EVEN);
//输出:1.28
数值格式化(千位分组)
应用于金额的展示,比如我们经常会看的银行卡余额。
echo number_format('10000.98', 2,'.', ',');
//输出:10,000.98
echo number_format('340888999', 2, '.', ',');
//输出:340,888,999.00