Spriz / decimal

Spryker Decimal handling - experimental

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Decimal Value Object

Minimum PHP Version

Decimal value object for PHP.

Background

When working with monetary values, normal data types like int or float are not suitable for exact arithmetic. Handling them as string is a workaround, but as value object you can more easily encapsulate some of the logic.

Solutions like https://php-decimal.io require a PHP extension. This makes it faster, but also more difficult for some servers to be available.

Features

  • Basic math operations supported
  • Immutability

Note: This library is a sandbox/showcase and for testing right now only. Use with Caution.

Installation

Requirements

  • bcmath PHP extension enabled

Composer (preferred)

composer require spryker/decimal:dev-master

Usage

See Documentation for more details.

TODO

  • Rounding
  • ceil()/floor()
  • toInt()
  • Edge case values (very small values)
  • sum(), average(), max(), min() as static methods?
  • modulo()?
  • shift()?
  • isEven()/isOdd()?

About

Spryker Decimal handling - experimental

License:MIT License


Languages

Language:PHP 100.0%