bradietilley / bcmath-number
Simulating the upcoming BCMath\Number class
v0.0.4
2024-05-12 00:00 UTC
Requires
- php: ^8.2
- ext-bcmath: *
Requires (Dev)
- laravel/pint: ^1.15
- pestphp/pest: ^2.34
- phpstan/phpstan: ^1.10
- symfony/var-dumper: ^6.4 || ^7.0
README
A drop-in replacement for the upcoming BCMath\Number
object type in PHP 8.4
Introduction
The BCMath\Number
object type is not yet confirmed (RFC). It is also unclear about the exact implementation deatils so this package is not a perfect replica however I've aimed to achieve an exact alternative to BCMath\Number
not necessarily as a backwards-compatible polyfill or shim but to be used as dependency before BCMath\Number
is available.
This package is available as BradieTilley\BCMath\Number
and, until PHP 8.4, BCMath\Number
.
Installation
composer require bradietilley/bcmath-number
Documentation
Refer to the RFC for general usage examples. The gist of it is:
use BCMath\Number; // or use BradieTilley\BCMath\Number; $number = new Number('34.465'); $result = $number->add('76.2'); echo (string) $result; // 110.665 // Number class is immutable so the original $number value remains. Resulting value are returned in a new object. echo (string) $number; // 34.465