php的BigDecimal等价物

php的BigDecimal等价物,php,Php,我想用php做货币单位计算。在java中,我们使用了BigDecimal,因为float和double不能准确地表示我们用于货币的基数10倍 那么我应该在php中使用什么呢?php不提供现成的BigDecimal等价物。您会发现最接近的是扩展,但它的级别非常低,没有成熟的BigDecimal类有用 相反,您可以使用一个名为的库,它提供了一个类,非常接近Java: 使用Brick\Math\BigDecimal; $amount=BigDecimal::of('12.34'); echo$amou

我想用php做货币单位计算。在java中,我们使用了
BigDecimal
,因为float和double不能准确地表示我们用于货币的基数10倍


那么我应该在php中使用什么呢?

php不提供现成的
BigDecimal
等价物。您会发现最接近的是扩展,但它的级别非常低,没有成熟的BigDecimal类有用

相反,您可以使用一个名为的库,它提供了一个类,非常接近Java:

使用Brick\Math\BigDecimal;
$amount=BigDecimal::of('12.34');
echo$amount->乘以(2);//24.68
此库在可用时自动使用BCMath或GMP扩展,以加快计算速度(但在没有它们的情况下也可以工作)


如果你是专门处理金钱问题,我建议你去图书馆看看。它基于
brick/math
并处理精确的货币计算:

使用Brick\Money\Money;
使用Brick\Math\RoundingMode;
$amount=货币:$of('12.34','USD');
echo$金额->被(2)分割;//6.17美元
echo$amount->dividedBy(3,取整模式::向下);//4.11美元
免责声明:我是这些库的作者。

试试看。