`Brick/Money` - 高精度货币处理库

Brick/Money - 高精度货币处理库

moneyA money and currency library for PHP项目地址:https://gitcode.com/gh_mirrors/mone/money


在处理金融数据时,准确无误是至关重要的,因为小数点后的细微错误可能在现实生活中带来严重的后果。这就是为什么浮点数运算不适合用于货币计算。`Brick/Money` 是一个基于 [brick/math](https://github.com/brick/math) 库的 PHP 货币和货币单位处理工具,它确保了精确的计算。

简介

Brick/Money 提供了一种安全可靠的方式来存储、操作和转换各种货币值,避免了浮点数运算的潜在问题。安装这个库非常简单,只需通过 Composer 即可:

composer require brick/money

技术剖析

该库要求 PHP 8.1 或更高版本。安装了 GMP 或 BCMath 扩展可以显著提升计算性能,但不是必需的。所有操作都是不可变(immutable)的,这意味着每次操作都会返回一个新的实例,保证了数据的安全性。

创建货币对象使用 of()ofMinor() 方法:

use Brick\Money\Money;

$money = Money::of(50, 'USD'); // USD 50.00
$money = Money::of('19.9', 'USD'); // USD 19.90
$money = Money::ofMinor(1234, 'USD'); // USD 12.34

基本的数学运算如加减乘除也得到了很好的支持,并且在货币之间不兼容时会抛出异常:

$cost = Money::of(25, 'USD');
$shipping = Money::of('4.99', 'USD');
$discount = Money::of('2.50', 'USD');

$total = $cost->plus($shipping)->minus($discount);

对于涉及到四舍五入的情况,你可以指定一个舍入模式,以避免不必要的异常。

应用场景

无论是在电子商务系统中计算订单总价,还是在财务软件中进行复杂的货币转换,Brick/Money 都能提供精确、稳定的服务。此外,它还可以处理多种货币混合的总额(MoneyBag),以及货币之间的转换(CurrencyConverter),为你的应用添加更多的灵活性。

项目特点

  • 基于砖块系列的高性能基础数学库
  • 支持 PHP 8.1 及以上版本
  • 具备兼容多种扩展的高精度计算
  • 安全的不可变货币操作
  • 内置货币分配与组合功能
  • 支持自定义上下文(Context),如现金四舍五入、自定义小数位等
  • 自动调整比例的 RationalMoney 类,适用于复杂计算

立即尝试 Brick/Money,让您的金融计算更精准,更无忧!

moneyA money and currency library for PHP项目地址:https://gitcode.com/gh_mirrors/mone/money

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傅尉艺Maggie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值