allanmcarvalho/numerable

这是我创建的numerable包

1.3.1 2024-03-12 18:20 UTC

This package is auto-updated.

Last update: 2024-09-08 09:23:49 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads codecov

此包提供类似于Laravel字符串工具类类的解决方案。使用它,您可以在数字上执行一些酷炫的操作,如断言、修改、数学运算、格式化和其他操作。

安装

您可以通过composer安装此包

composer require allanmcarvalho/numerable

基本用法

Numerable类似于Laravel字符串工具类。您可以使用Helper类或从numerable获取实例。

use Numerable\Numerable;
use Numerable\Number;

Number::add(2, 4, 6); // 12
Number::equal(2.0, 2); // true
Number::equal(2.0, 2, strict: true); // false
Number::divide(100, 2); // 50
Number::gt(10, 11); // false
Number::gte(11.0, 11); // true
Number::lt(10, 11); // true
Number::lte(11.0, 11); // true
Number::multiply(2, 10, 5); // 100
Number::parse('21.32%'); // 21.32
Number::sub(20, 4, 1); // 15
Number::toCurrency(213.21); // $213.21
Number::toFloat(1_000); // 1000.0
Number::toInteger(23.21); // 23
Number::toOrdinal(1); // 1st
Number::toPercentage(0.52, precision: 0); // 52%
Number::toReadableSize(1024 * 1024 * 512); // 512MB

//or 

$number = Number::from(10)
    ->add(2) // now is 12
    ->divide(2.5) // now is 4.8
    ->multiplyBy(4) // now is 19.2
    ->sub(4); // now is 15.2
    
//or

$number = num(10)
    ->add(2) // now is 12
    ->divide(2.5) // now is 4.8
    ->multiplyBy(4) // now is 19.2
    ->sub(4); // now is 15.2

$number->equal(15.10); // false
$number->gt(10); // true
$number->gte(18); // false
$number->lt(10); // false
$number->lte(18); // true
$number->toCurrency(); // $15.20
$number->toCurrency('BRL', 'pt_BR'); // R$15,20
$number->toFloat(); // 15.2
$number->toFormat(places: 0, suffix: ' oranges'); // 15 oranges
$number->toInteger(); // 15
$number->toOrdinal(); // 15th
$number->toPercentage(sourceHumanized: true); // 15.00%
$number->toReadableSize(short: false); // 15.2 bytes
    

可用方法

  • abs - 获取绝对值。既可用作静态方法,也可用作实例方法。
  • add - 添加数字。既可用作静态方法,也可用作实例方法。
  • asHumanPercentage - 将数字格式化为人类可读百分比。仅作为实例方法可用。
  • asFractionPercentage - 将数字格式化为分数百分比。仅作为实例方法可用。
  • equal - 比较数字。既可用作静态方法,也可用作实例方法。
  • diff - 获取数字之间的差异。既可用作静态方法,也可用作实例方法。
  • divide - 除以数字。既可用作静态方法,也可用作实例方法。
  • divideBy - 将实例值除以除数。仅作为实例方法可用。
  • gt - 检查数字是否大于另一个数字。既可用作静态方法,也可用作实例方法。
  • gte - 检查数字是否大于或等于另一个数字。既可用作静态方法,也可用作实例方法。
  • isEven - 检查数字是否为偶数。既可用作静态方法,也可用作实例方法。
  • isFloat - 检查数字是否为浮点数。既可用作静态方法,也可用作实例方法。
  • isInteger - 检查数字是否为整数。既可用作静态方法,也可用作实例方法。
  • isMultipleOf - 检查数字是否是另一个数字的倍数。既可用作静态方法,也可用作实例方法。
  • isNegative - 检查数字是否为负数。既可用作静态方法,也可用作实例方法。
  • isOdd - 检查数字是否为奇数。既可用作静态方法,也可用作实例方法。
  • isPositive - 检查数字是否为正数。既可用作静态方法,也可用作实例方法。
  • lt - 检查数字是否小于另一个数字。既可用作静态方法,也可用作实例方法。
  • lte - 检查数字是否小于或等于另一个数字。既可用作静态方法,也可用作实例方法。
  • multiply - 乘以数字。仅作为静态方法可用。
  • multiplyBy - 将数字乘以另一个数字。仅作为实例方法可用。
  • parse - 将字符串解析为数字。仅作为静态方法可用。
  • round - 四舍五入数字。既可用作静态方法,也可用作实例方法。
  • roundAsMultipleOf - 将数字四舍五入为另一个数字的倍数。既可用作静态方法,也可用作实例方法。
  • sub - 减去数字。既可用作静态方法,也可用作实例方法。
  • takeAPart - 获取数字的一部分。既可用作静态方法,也可用作实例方法。
  • toCurrency - 将数字格式化为货币。既可用作静态方法,也可用作实例方法。
  • toFloat - 将数字格式化为浮点数。既可用作静态方法,也可用作实例方法。
  • toFormatted - 将数字格式化为格式化的字符串。既可用作静态方法,也可用作实例方法。
  • toInteger - 将数字格式化为整数。既可用作静态方法,也可用作实例方法。
  • toOrdinal - 将数字格式化为序数。作为静态方法和实例方法可用。
  • toPercentage - 将数字格式化为百分比。作为静态方法和实例方法可用。
  • variation - 获取数字之间的变化。作为静态方法可用。
  • variationFrom - 从基数字获取变化。作为实例方法可用。
  • variationTo - 到基数字的变化。作为实例方法可用。

测试

composer test

变更日志

请参阅变更日志,获取最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请查阅我们的安全策略了解如何报告安全漏洞。

鸣谢

许可协议

MIT 许可协议 (MIT)。请参阅许可文件获取更多信息。