Blog Detail

02

Dec
Currency Formatting & Conversion with Laravel Money Package cover image

arrow_back Currency Formatting & Conversion with Laravel Money Package

Laravel Money is a Currency formatting and conversion package for Laravel. This package intends to provide tools for formatting and conversion monetary values in an easy, yet powerful way for Laravel projects.

Why not use the moneyphp package?

Because moneyphp uses the intl extension for number formatting. intl extension isn’t present by default on PHP installs and can give different results in different servers.

Installation & Setup

Run the following command:

composer require akaunting/laravel-money

Register (for Laravel < 5.5)

Register the service provider in config/app.php

Akaunting\Money\Provider::class,

Publish config file.

php artisan vendor:publish --tag=money

Configure

You can change the currencies information of your app from config/money.php file

Usage

This package includes a lot of latest features for doing money operations, comparisons, aggregations, formatting, and parsing:

use Akaunting\Money\Currency;
use Akaunting\Money\Money;

echo Money::USD(500); // '$5.00' unconverted
echo new Money(500, new Currency('USD')); // '$5.00' unconverted
echo Money::USD(500, true); // '$500.00' converted
echo new Money(500, new Currency('USD'), true); // '$500.00' converted
Advanced
$m1 = Money::USD(500);
$m2 = Money::EUR(500);

$m1->getCurrency();
$m1->isSameCurrency($m2);
$m1->compare($m2);
$m1->equals($m2);
$m1->greaterThan($m2);
$m1->greaterThanOrEqual($m2);
$m1->lessThan($m2);
$m1->lessThanOrEqual($m2);
$m1->convert(Currency::GBP, 3.5);
$m1->add($m2);
$m1->subtract($m2);
$m1->multiply(2);
$m1->divide(2);
$m1->allocate([1, 1, 1]);
$m1->isZero();
$m1->isPositive();
$m1->isNegative();
$m1->format();

Helpers

money(500, 'USD')
currency('USD')

Blade Directives

@money(500, 'USD')
@currency('USD')

You can learn more about this package by visiting its documentation & source code on Github.

Published at : 02-12-2021

Author : Rizwan Aslam
AUTHOR
Rizwan Aslam

I am a highly results-driven professional with 12+ years of collective experience in the grounds of web application development especially in laravel, native android application development in java, and desktop application development in the dot net framework. Now managing a team of expert developers at Codebrisk.

Launch your project

Launch project