pwweb/copper

An API extension for NumberFormatter.
1,232
Install
composer require pwweb/copper
Latest Version:v1.3.0
PHP:^8.2
License:MIT
Last Updated:Mar 25, 2025
Links: GitHub  ·  Packagist
Maintainer: rabrowne85

Copper

Latest Stable Version Total Downloads License Run tests

Copper: An API extension for NumberFormatter.

Installation

Via Composer run the following:

$ composer require pwweb/copper

Usage

Commands

This package makes it easy to format numbers using PHP NumberFormatter. In essence it wraps things up in a simple to use API.

To get started you will need to create a new instance:

<?php
...
Copper\Copper::create(?float $value = null, ?int $style = null, ?string $locale = null);

i.e.:

<?php
...
$formatter = Copper\Copper::create(-1234.56, \NumberFormatter::DECIMAL, 'en-GB');

If you don't provide a $style it will default to NumberFormatter::DECIMAL. If you don't provide the $locale it will default to the value of the Laravel application.

Then with this you can format in any of the following ways:

Format Code Output
Currency $value->currency('GBP') -£1,234.56
Decimal $value->decimal(2) -1,234.56
Percentage $value->percentage() -123,456%
Scientific $value->scientific() -1.23456E3
Accounting $value->accounting('GBP') (£1,234.56)
SpellOut $value->spellOut() minus one thousand two hundred thirty-four point five six
Unit $value->unit(Unit::GRAM) 1.234 kg

Since the create() function returns an instance of Copper, you can chain the methods together i.e. Copper\Copper::create(-1234.56)->currency('EUR') leads to -€1,234.56.

This means that it's particularly helpful in Blade templates:

{{ Copper\Copper::create($order->value)->currency('USD') }}

In addition to the base functions there are a few setters and getters:

Function Result
setStyle(int) Allows for altering the style value.
getstyle(): int Returns the style number currently defined.
setLocale(string) Allows for changing/specifying the locale within the code i.e. {{ Copper\Copper::create(-1234.56)->setLocale('de-DE')->currency('EUR') }} would return -1.234,56 €.

Change log

Please see the changelog for more information on what has changed recently.

Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email securtity@pw-websolutions.com instead of using the issue tracker.

Credits

License

Copyright © pw-websolutions.com. Please see the license file for more information.

˜

Related Packages

butochnikov/laravel-app-version

Display app version number

104 0
enimiste/l5-math

Laravel 5 Math calculation, number representation package

180 0
enimiste/math

Math calculation, number representation package

193 0
pavankumar/qrcoder

This is a Laravel 5 package for generating QR codes.

77 5
ellisio/laravel-phone

A phone validator for Laravel using the free Twilio phone lookup service.

29,983 11