php精度计算

本文详细介绍了一系列数学函数,包括加、减、乘、除、取余、幂运算、平方根、三角函数、数制转换及数值格式化等。特别介绍了银行家舍入法的应用,并提供了保留两位小数的实例代码。同时,展示了如何使用PHP内置函数进行数值格式化,适用于金额展示。

默认保留两位小数

bcadd(参数1,参数2,参数3)

参数1 和2 是要相加的参数 3是保留几位小数。

  1. bcadd 任意精度数的相加
  2. bcsub 任意精度数的减法
  3. bcmul 乘法, bcdiv除法
  4. bcmod 取余数。 (比%功能更强大)
  5. bcpow 幂函数运算
  6. bcsqrt 平方根
  7. sqrt 平方根运算
  8. pow求幂
  9. abs 求绝对值
  10. 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值