kdabrow / math
BCMath 的 Objective 包装器
1.0.0
2023-02-14 09:30 UTC
Requires
- php: ^8.1
- ext-bcmath: *
Requires (Dev)
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-14 13:07:46 UTC
README
数学
BCMath 的 Objective 包装器
安装
通过 composer 安装
composer require kdabrow/math
使用方法
首先声明可变数字。第二个字符串经过验证并转换为正确的格式。以下是转换数字的示例(注释中包含转换后的数字)
use Kdabrow\Math\Number; new Number("100"); // 100 new Number("-100"); // -100 new Number("100,11"); // 100.11 new Number("100.11"); // 100.11 new Number("10,000.11"); // 10000.11 new Number("10 000.11"); // 10000.11 new Number("10'000.11"); // 10000.11 new Number(".11"); // 0.11 new Number(",11"); // 0.11 new Number("0,11"); // 0.11 new Number("0.11"); // 0.11
然后使用 Number 类提供的 API。所有方法(除了 'sqrt')都接受给定格式的参数
// numeric string $number->add('100'); // Number object $number->add(new Number('100')); // array of strings $number->add(['100', '100']); // array of Number objects $number->add([new Number('100'), new Number('100')]); // object implementing ArrayAccess interface $number->add(new Collection()); // many formats or same elements at the same time $number->add('100', new Number('200'), ['100', new Number('200')]);
加法
use Kdabrow\Math\Number; $number = new Number('700'); $number->add('100'); // 800
减法
use Kdabrow\Math\Number; $number = new Number('700'); $number->subtract('100'); // 600
乘法
use Kdabrow\Math\Number; $number = new Number('700'); $number->multiply('2'); // 1400
除法
use Kdabrow\Math\Number; $number = new Number('700'); $number->divide('2'); // 350
平方根
use Kdabrow\Math\Number; $number = new Number('16'); $number->sqrt(); // 4
幂
use Kdabrow\Math\Number; $number = new Number('2'); $number->pow('3'); // 8
等于
use Kdabrow\Math\Number; $number = new Number('2'); $number->isEqual('3'); // false $number->isEqual('2'); // true $number->isEqual('1'); // false
等于或更大
use Kdabrow\Math\Number; $number = new Number('2'); $number->isEqualOrBigger('3'); // false $number->isEqualOrBigger('2'); // true $number->isEqualOrBigger('1'); // true
等于或更小
use Kdabrow\Math\Number; $number = new Number('2'); $number->isEqualOrLower('3'); // true $number->isEqualOrLower('2'); // true $number->isEqualOrLower('1'); // false
小于
use Kdabrow\Math\Number; $number = new Number('2'); $number->isLower('3'); // true $number->isLower('2'); // true $number->isLower('1'); // false
大于
use Kdabrow\Math\Number; $number = new Number('2'); $number->isBigger('3'); // false $number->isBigger('2'); // true $number->isBigger('1'); // true
开发
要运行单元测试,请进入项目文件夹并在控制台中输入以下命令
vendor/bin/phpunit
包包含一个能够运行测试的 Docker 容器
docker compose run php vendor/bin/phpunit