pamil/rounder

简单的四舍五入工具

v2.0 2014-01-28 23:37 UTC

This package is auto-updated.

Last update: 2024-08-29 01:51:23 UTC


README

简单的 PHP 四舍五入工具,相当于 \round() 函数。提供了接口和默认、安全、单元测试过的四舍五入实现。

  • 四舍五入向上(向正无穷靠近)
  • 四舍五入向下(向负无穷靠近)
  • 四舍五入到最近的偶数
  • 四舍五入到最近的奇数
  • 四舍五入远离零(向正无穷靠近)
  • 四舍五入靠近零(远离正无穷)
  • 向上四舍五入(向正无穷靠近)
  • 向下四舍五入(向负无穷靠近)
  • 远离零四舍五入(向正无穷靠近)
  • 靠近零四舍五入(远离正无穷)

round() 不同,其中 PHP_ROUND_HALF_UP 四舍五入模式意味着四舍五入远离零,而 PHP_ROUND_HALF_DOWN 则意味着四舍五入靠近零,Rounder 提供了这些四舍五入模式的正确实现。

支持 PHP >= 5.3HHVM

如何使用?

  • 运行 composer require "pamil/rounder:~2.0"
  • 尝试一下!
use Pamil\Rounder\Rounder;
use Pamil\Rounder\BasicRounder;

$rounder = new BasicRounder();

// Use new API
$rounder->roundHalfUp(12.15, 1); // 12.2
$rounder->roundHalfUp(-12.315, 2); // -12.31

// Or old round API
$rounder->round(24.5); // 25
$rounder->round(24.5, 0, Rounder::ROUND_DOWN); // 24

// You can even use old PHP_ROUND_* constants
// Warning: as mentioned above, PHP_ROUND_HALF_UP and
// PHP_ROUND_HALF_DOWN have been badly named, so they
// aren't equivalent for Rounder::ROUND_HALF_UP and
// Rounder::ROUND_HALF_DOWN. They are 100% back compatibile,
// $rounder->round() returns the same values round() will return.

$rounder->round(23.5, 0, PHP_ROUND_HALF_EVEN); // 24
$rounder->round(22.5, 0, PHP_ROUND_HALF_EVEN); // 22