BC.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | A3Mall
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2020 http://www.a3-mall.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: xzncit <158373108@qq.com>
  8. // +----------------------------------------------------------------------
  9. namespace mall\utils;
  10. class BC {
  11. /**
  12. * 加法
  13. * @param $left 被加数
  14. * @param $right 总数
  15. * @param int $scale 保留几位小数
  16. * @return string
  17. */
  18. public static function add($left, $right, $scale=2){
  19. return bcadd($left,$right,$scale);
  20. }
  21. /**
  22. * 减法
  23. * @param $left 被减数
  24. * @param $right 总数
  25. * @param int $scale 保留几位小数
  26. * @return string
  27. */
  28. public static function sub($left, $right, $scale=2){
  29. return bcsub($left,$right,$scale);
  30. }
  31. /**
  32. * 乘法
  33. * @param $left 被乘数
  34. * @param $right 总数
  35. * @param int $scale 保留几位小数
  36. * @return string
  37. */
  38. public static function mul($left, $right, $scale=2){
  39. return bcmul($left,$right,$scale);
  40. }
  41. /**
  42. * 相除 左操作数除以右操作数
  43. * @param $dividend
  44. * @param $divisor
  45. * @param int $scale
  46. * @return string|null
  47. */
  48. public static function div($dividend, $divisor, $scale = 2){
  49. return bcdiv($dividend, $divisor, $scale);
  50. }
  51. // 比较
  52. public static function comp($left, $right, $scale=2){
  53. return bccomp($left,$right,$scale);
  54. }
  55. }