mezinn / number

用于在PHP中处理数字的库

0.1.0 2023-03-26 11:22 UTC

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许可证下发布的。