mezinn / number
用于在PHP中处理数字的库
0.1.0
2023-03-26 11:22 UTC
Requires
- php: ^8.1
- ext-bcmath: *
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
- squizlabs/php_codesniffer: ^3.7
- vimeo/psalm: ^5.8
This package is not auto-updated.
Last update: 2024-09-23 17:16:59 UTC
README
免责声明: 此组件仅作为示例,不建议在生产环境中使用。它作为学习工具提供,应自行承担风险。
Number是一个用于在PHP中处理数字的库。它提供了一个表示十进制数的Number类和一个在两个数字上执行算术运算的NumberCalculator类。此外,它还有一个NumberFactory类,可以从字符串值创建一个Number实例,以及一个NumberFormatter类,可以将Number实例格式化为带有千位分隔符和可选符号的字符串。
安装
通过Composer安装库
composer require mezinn/number
用法
创建Number实例
要创建Number实例,请使用以下NumberFactory类:
use mezinn\number\NumberFactory; $numberFactory = new NumberFactory(); $number = $numberFactory->create('123.45');
执行算术运算
要对两个Number实例执行算术运算,请使用以下NumberCalculator类:
use mezinn\number\Number; use mezinn\number\NumberCalculator; use mezinn\number\NumberFactory; $numberFactory = new NumberFactory(); $numberCalculator = new NumberCalculator($numberFactory); $a = $numberFactory->create('123.45'); $b = $numberFactory->create('67.89'); $c = $numberFactory->create('2'); $result = $numberCalculator->add($a, $b); // $result is a Number instance representing the value 191.34 $result = $numberCalculator->subtract($a, $b); // $result is a Number instance representing the value 55.56 $result = $numberCalculator->multiply($a, $b); // $result is a Number instance representing the value 8381.02 $result = $numberCalculator->divide($a, $b); // $result is a Number instance representing the value 1.81 $result = $numberCalculator->pow($a, $c); // $result is a Number instance representing the value 15239.90 $result = $numberCalculator->sqrt($a); // $result is a Number instance representing the value 11.11
格式化Number实例
要将Number实例格式化为带有千位分隔符和可选符号的字符串,请使用以下NumberFormatter类:
use mezinn\number\Number; use mezinn\number\NumberFactory; use mezinn\number\NumberFormatter; $numberFactory = new NumberFactory(); $numberFormatter = new NumberFormatter(); $number = $numberFactory->create('-1234567.89'); $formatted = $numberFormatter->format($number, ',', true); // $formatted is '-1,234,567.89'
许可证
Number是在MIT许可证下发布的。