如何在 PHP 中将数字转换为"big decimal"和"long"?



如何在PHP中将数字转换为大十进制?

例如,我有一个号码:788892,667
我想把它转换成一个大的小数:788892667
然后将其转换回长788892,667

我可以在PHP中这样做吗?

PHP没有表示大数的内部类型。它确实有一些扩展来处理这些数字:GMP和BCMath,但它们相当低级。

如果你想要一个提供BigDecimalBigInteger的库,试试brick/math(免责声明:我是作者):

use BrickMathBigDecimal;
$bigdecimal = BigDecimal::of('788892.667');    // BigDecimal(788892.667)
$biginteger = $bigdecimal->getUnscaledValue(); // BigInteger(788892667)
$int        = $biginteger->toInt();            // int(788892667)

此库在可用时使用GMP和BCMath扩展,但是

最新更新