1. <?php
    2. /**
    3. * 精确加法
    4. * @param [type] $a [description]
    5. * @param [type] $b [description]
    6. */
    7. function math_add($a,$b,$scale = '2') {
    8. return bcadd($a,$b,$scale);
    9. }
    10. /**
    11. * 精确减法
    12. * @param [type] $a [description]
    13. * @param [type] $b [description]
    14. */
    15. function math_sub($a,$b,$scale = '2') {
    16. return bcsub($a,$b,$scale);
    17. }
    18. /**
    19. * 精确乘法
    20. * @param [type] $a [description]
    21. * @param [type] $b [description]
    22. */
    23. function math_mul($a,$b,$scale = '2') {
    24. return bcmul($a,$b,$scale);
    25. }
    26. /**
    27. * 精确除法
    28. * @param [type] $a [description]
    29. * @param [type] $b [description]
    30. */
    31. function math_div($a,$b,$scale = '2') {
    32. return bcdiv($a,$b,$scale);
    33. }
    34. /**
    35. * 精确求余/取模
    36. * @param [type] $a [description]
    37. * @param [type] $b [description]
    38. */
    39. function math_mod($a,$b) {
    40. return bcmod($a,$b);
    41. }
    42. /**
    43. * 比较大小
    44. * @param [type] $a [description]
    45. * @param [type] $b [description]
    46. * 大于 返回 1 等于返回 0 小于返回 -1
    47. */
    48. function math_comp($a,$b,$scale = '5') {
    49. return bccomp($a,$b,$scale); // 比较到小数点位数
    50. }
    51. echo math_add('3.445','3.444')."\n"; // 加 6.88
    52. echo math_sub('3.445','3.444')."\n"; // 减 0.00
    53. echo math_mul('3.445','3.444')."\n"; // 乘 11.86
    54. echo math_div('3.445','3.444')."\n"; // 除 1.00
    55. echo math_mod('3.445','3.444')."\n"; // 取模 0
    56. echo math_comp('3.445','3.444')."\n";// 比较 1
    57. echo math_add('3.445','3.444','3')."\n"; // 加 6.889
    58. echo math_sub('3.445','3.444','3')."\n"; // 减 0.001
    59. echo math_mul('3.445','3.444','3')."\n"; // 乘 11.864
    60. echo math_div('3.445','3.444','3')."\n"; // 除 1.000
    61. echo math_mod('3.445','3.444')."\n"; // 取模 0
    62. echo math_comp('3.445','3.444')."\n";// 比较 1
    63. ?>