Парсинг локалізованих чисел за допомогою класу Number у Laravel

Перекладено ШІ 0 Laravel News 17 червня, 2025

Laravel надає клас Number, який спрощує обробку чисел у форматах різних країн завдяки методам парсингу, що використовують розширення PHP Intl. Чи готові ви дізнатися, як ці інструменти можуть зробити ваші міжнародні додатки ще зручнішими? Читайте далі, щоб розкрити секрети ефективної обробки чисел у підтримці багатомовності

Клас Number у Laravel надає можливість обробки чисел у форматах, що залежать від локалі, завдяки використанню розширення PHP Intl. Це спрощує обробку числових даних на міжнародному рівні.

Автоматичне опрацювання різних форматів локалей:

use Illuminate\Support\Number;
 
Number::parse($string);
Number::parseInt($string);
Number::parseFloat($string);
 
// З конкретною локаллю
Number::parseFloat(string: $string, locale: 'fr');
 
// З нестандартним типом
Number::parse(
    string: $string,
    type: NumberFormatter::TYPE_INT64,
    locale: 'fr',
);

Ось приклад використання цих методів у системі фінансової звітності:

class FinancialDataProcessor
{
    public function processReportData(array $reportData, string $locale)
    {
        return [
            'revenue' => Number::parseFloat($reportData['revenue'], locale: $locale),
            'expenses' => Number::parseFloat($reportData['expenses'], locale: $locale),
            'transactions' => Number::parseInt($reportData['transactions'], locale: $locale),
            'margin' => Number::parse(
                string: $reportData['margin'],
                type: NumberFormatter::TYPE_DOUBLE,
                locale: $locale
            )
        ];
    }
 
    public function importFinancialData(string $filePath, string $locale)
    {
        $records = [];
 
        foreach ($this->readSpreadsheet($filePath) as $row) {
            $records[] = [
                'amount' => Number::parseFloat($row['amount'], locale: $locale),
                'commission' => Number::parseFloat($row['commission'], locale: $locale),
                'units' => Number::parseInt($row['units'], locale: $locale)
            ];
        }
 
        return $records;
    }
}
 
$processor = new FinancialDataProcessor();
 
// Формат італійською: "1.234,56" перетворюється на 1234.56
$italianData = $processor->processReportData([
    'revenue' => '1.234,56',
    'expenses' => '456,78',
    'transactions' => '25'
], 'it');
 
// Формат іспанською: "1.234,56" перетворюється на 1234.56
$spanishData = $processor->processReportData([
    'revenue' => '1.234,56',
    'expenses' => '456,78',
    'transactions' => '25'
], 'es');

Ці методи парсингу автоматично обробляють різноманітність форматів чисел, роблячи ваші міжнародні застосунки більш надійними та зручними для користувачів

Популярні

Інше, що варто прочитати

74 Оновлено 02 червня, 2026

Laravel Boost — ваш стартовий набір для програмування з використанням штучного інтелекту

Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel

15 Оновлено 02 червня, 2026

Intervention Image: потужний інструмент для роботи з зображеннями у Laravel

Досліджуйте потужний пакет Intervention Image для PHP, який виводить редагування зображень на новий рівень з оновленою версією 3. Чи готові ви дізнатися, які нові можливості та функції чекають на вас у цьому інструменті

173 Оновлено 02 червня, 2026

Використання повнотекстового пошуку в Laravel

Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом