php计算 处理丢失精度问题 保留小数

解决方法:

使用php的内库libbcmath(自 PHP 4.0.4,libbcmath 随同 PHP 一起发布。该扩展不需要任何外部的库)

$a = bcdiv(100, 100, 2);  //除法
那么$a = 1.00;

  • bcadd — 2个任意精度数字的加法计算
  • bccomp — 比较两个任意精度的数字
  • bcdiv — 2个任意精度的数字除法计算
  • bcmod — 对一个任意精度数字取模
  • bcmul — 2个任意精度数字乘法计算
  • bcpow — 任意精度数字的乘方
  • bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
  • bcscale — 设置所有bc数学函数的默认小数点保留位数
  • bcsqrt — 任意精度数字的二次方根
  • bcsub — 2个任意精度数字的减法

原文链接:http://qdblogs.com/?id=7