4slovo/money

money 辅助工具

v1.0.4 2019-04-15 07:47 UTC

This package is not auto-updated.

Last update: 2024-09-24 17:32:30 UTC


README

类 Money 应用于货币计算。货币应使用最小货币单位(分、美分、便士等)表示。

可用操作

create - 创建

$money = Money::create(100);

getAmount - 获取最小货币单位的金额

$result = Money::create(100)->getAmount(); // $result = 100
$result = Money::create(100.99)->getAmount(); // $result = 100

比较

equal - 比较是否相等

$result = Money::create(100)->equal(Money::create(100)); // $result = true

equalOrLess - 比较是否小于或等于

$result = Money::create(100)->equalOrLess(Money::create(1000)); // $result = true
$result = Money::create(100)->equalOrLess(Money::create(100)); // $result = true
$result = Money::create(1000)->equalOrLess(Money::create(100)); // $result = false

equalOrMore - 比较是否大于或等于

$result = Money::create(100)->equalOrMore(Money::create(1000)); // $result = flase
$result = Money::create(100)->equalOrMore(Money::create(100)); // $result = true
$result = Money::create(1000)->equalOrMore(Money::create(100)); // $result = true

less - 比较是否小于

$result = Money::create(100)->less(Money::create(1000)); // $result = true
$result = Money::create(100)->less(Money::create(100)); // $result = false
$result = Money::create(1000)->less(Money::create(100)); // $result = false

more - 比较是否大于

$result = Money::create(100)->more(Money::create(1000)); // $result = false
$result = Money::create(100)->more(Money::create(100)); // $result = false
$result = Money::create(1000)->more(Money::create(100)); // $result = true

数学运算

add - 操作 加法

$result = Money::create(100)->add(Money::create(100)); // $result = Money::create(200)

addList - 操作 列表加法

$result = Money::create(100)->addList([
    Money::create(100),
    Money::create(100)
]); // $result = Money::create(300)

sub - 操作 减法

$result = Money::create(300)->sub(Money::create(100)); // $result = Money::create(200)

subList - 操作 列表减法

$result = Money::create(500)->subList([
    Money::create(100),
    Money::create(100)
]); // $result = Money::create(300)

round - 操作 四舍五入

$result = Money::create()->round(1000/3); // $result = 333

mul - 操作 乘法

$result = Money::create(1000)->mul(1/3); // $result = Money::create(333)

dev - 操作 除法

$result = Money::create(1000)->div(3); // $result = Money::create(333)

分割

allocate - 操作 分割

$result = Money::create(3500000)->allocate(3); // $result = [Money::create(1166700), Money::create(1166700), Money::create(1166600)]