Laravel Tutorials

Currency Formatting with Laravel's Enhanced Number Helper

Published
Currency Formatting with Laravel's Enhanced Number Helper image

Laravel's Number helper now supports configurable default currencies, simplifying price formatting across different regions and use cases. This enhancement is particularly valuable for applications serving international customers or handling transactions in multiple currencies. Instead of manually managing currency symbols and formats, you can now leverage Laravel's built-in formatting with configurable defaults.

use Illuminate\Support\Number;
// Set application-wide default
Number::useCurrency('EUR');
// Format with default
$price = Number::currency(1000); // €1,000.00
// Temporary override
$usdPrice = Number::currency(1000, in: 'USD'); // $1,000.00

Here's an example of implementing a multi-regional checkout system:

<?php
 
namespace App\Services;
 
use App\Models\Order;
use Illuminate\Support\Number;
 
class PricingService
{
public function formatOrderPrices(Order $order, string $displayCurrency)
{
return Number::withCurrency($displayCurrency, function() use ($order) {
return [
'subtotal' => Number::currency($order->subtotal),
'tax' => Number::currency($order->tax),
'shipping' => Number::currency($order->shipping_cost),
'total' => Number::currency($order->total),
'savings' => $this->calculateDiscounts($order)
];
});
}
 
private function calculateDiscounts(Order $order): array
{
return [
'bulk_discount' => Number::currency($order->bulk_discount),
'loyalty_savings' => Number::currency($order->loyalty_discount),
'total_saved' => Number::currency(
$order->bulk_discount + $order->loyalty_discount
)
];
}
}

The Number helper's enhanced currency formatting capabilities streamline multi-currency support in Laravel applications. It provides flexibility for both application-wide defaults and context-specific currency formatting, making it easier to handle international pricing requirements.

Harris Raftopoulos photo

Senior Software Engineer • Staff & Educator @ Laravel News • Co-organizer @ Laravel Greece Meetup

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Compile PHP to Native Binaries with TypePHP image

Compile PHP to Native Binaries with TypePHP

Read article
State of Laravel 2026 Survey Is Now Open image

State of Laravel 2026 Survey Is Now Open

Read article
Testing Best Practices Skill in Laravel Boost v2.6.0 image

Testing Best Practices Skill in Laravel Boost v2.6.0

Read article
Query Binding Masking and whereBinary() in Laravel 13.27 image

Query Binding Masking and whereBinary() in Laravel 13.27

Read article
Laravel AI: Load Tools On Demand With ToolSearch image

Laravel AI: Load Tools On Demand With ToolSearch

Read article
Laravel Auditor Audits Your App With Your Own AI Agent image

Laravel Auditor Audits Your App With Your Own AI Agent

Read article