Skip to content

ageekdev/laravel-num

Repository files navigation

Laravel Num

Latest Version on Packagist Laravel 9.x Laravel 10.x Laravel 11.x GitHub Tests Action Status Total Downloads

To convert the unicode digit to another unicode digit.

Supported languages

By default, You can convert english, myanmar and thai numbers. If you would like to add more, you can add zero unicode characters at config/num.php. You can see more zero unicode character at zero-unicode.md.

Installation

You can install this package via composer using this command:

composer require ageekdev/laravel-num

The package will automatically register itself.

Publish configuration and asset files

php artisan vendor:publish --provider="AgeekDev\Num\NumServiceProvider"

Usage

Using the facade

Direct convert from the english number to the myanmar number

Num::convert('1234๑๒๓๔','mm','en'); 
// ၁၂၃၄๑๒๓๔

Convert to the myanmar number

Num::toMyanmar('1234๑๒๓๔'); 
// ၁၂၃၄၁၂၃၄

Convert to the thai number

Num::toThai('1234'); 
// ๑๒๓๔

Convert to the english number

Num::toEnglish('၁၂၃၄'); 
// 1234

Using with Helpers

Convert to the myanmar number

num_to_mm('1234'); 
// ၁၂၃၄

Convert to the thai number

num_to_th('1234');
// ๑๒๓๔

Convert to the english number

num_to_eng('၁၂၃၄');
// 1234

Macro

The Laravel Num allows you to define "macros", which can serve as a fluent, expressive mechanism to configure string, to language and from language when interacting with services throughout your application. To get started, you may define the macro within the boot method of your application's App\Providers\AppServiceProvider class:

use AgeekDev\Num\Facades\Num;
 
/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Num::macro('toMyanmarShan', function (int|string|null $string, string $from = null) {
        return Num::convert($string, 'shan', $from);
    });
}

Once your macro has been configured, you may invoke it from anywhere in your application to convert numbers with the specified configuration:

$numbers = Num::toMyanmarShan('1234567890');

// ႑႒႓႔႕႖႗႘႙႐

Note If convert language don't have in num.php, you may configure this language in your num configuration file.

'zeros' => [
    'en' => 0,
    'mm' => '',
    'th' => '',
    'shan' => ''
],

Testing

You can run the tests with:

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.